一、构建基础镜像
bash
docker build -f /u01/isi/DockerFile . -t thinking_code.com/xhh/crawler_base_image:v1.0.2
docker push thinking_code.com/xhh/crawler_base_image:v1.0.2
二、K8s运行Pod
三、DockerFile文件
bash
# 基于镜像基础
FROM python:3.7
# 设置代码文件夹工作目录 /app
WORKDIR /app
# 复制当前代码文件到容器中 /app
ADD . /app
# 安装常用命令
RUN apt-get update && apt-get install -y \
coreutils \
vim \
wget \
curl \
net-tools \
iputils-ping \
telnet \
curl \
cron \
gnupg \
&& curl -fsSL https://deb.nodesource.com/setup_current.x | bash - \
&& apt-get install -y nodejs \
&& apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 安装插件库
RUN pip install pyyaml
RUN pip install selenium
RUN pip install pycryptodome
# 安装所需的包
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
# 安装 wget 和其他必要工具(如果没有 wget 的话)
RUN apt-get update && apt-get install -y wget unzip
# 将 Chrome 安装文件复制到 Docker 镜像中(假设文件在当前目录下)
COPY google-chrome-stable_114.0.5735.90-1_amd64.deb /tmp/google-chrome.deb
# 安装 Google Chrome
RUN apt-get install -y /tmp/google-chrome.deb
# 查看安装的 Google Chrome 版本
RUN google-chrome --version
# 安装 ChromeDriver(假设已经将 chromedriver.zip 复制到 Docker 镜像中)
COPY chromedriver.zip /tmp/chromedriver.zip
RUN unzip /tmp/chromedriver.zip -d /usr/local/bin/ && chmod +x /usr/local/bin/chromedriver
四、依赖文件
requirements.txt
Jsonpath==0.82
Requests==2.31.0
loguru==0.6.0
lxml==4.9.2
nodejs==0.1.1
PyExecJS==1.5.1
PyMySQL==1.0.3
pyquery==2.0.0
redis==4.5.4
urllib3==1.25.11
Flask==2.2.5
dateparser==1.1.8
kafka-python==2.0.2
python-dateutil==2.8.2
retrying==1.3.4
elasticsearch==7.13.0
pycryptodome==3.19.0
requests-toolbelt==1.0.0