在 Kubernetes 上部署 Python 3.7、Chrome 和 Chromedriver(版本 114.0.5735.90)的完整指南

一、构建基础镜像

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

五、参考网址

Debian 中文软件仓库

相关推荐
鸠摩智首席音效师1 小时前
如何使用 docker exec 在容器中运行命令 ?
运维·docker·容器
似水এ᭄往昔1 小时前
【Linux】自动化构建-make/Makefile
linux·运维·服务器·ubuntu
顶点多余2 小时前
Linux“信号“从硬件到软件详解
linux·运维·服务器
勘察加熊人2 小时前
ai飞卢小说自动化处理工作流获得提问素材
运维·自动化
cool32002 小时前
Kubernetes基础入门教程
容器·云计算·k8s
瀚高PG实验室3 小时前
rpm包安装报错:cannot open Packages index using db5 - Cannot allocate memory (12)
linux·运维·服务器·瀚高数据库
云计算老刘3 小时前
2. DNS 服务器
运维
水星灭绝3 小时前
win11+wsl2+docker
运维·docker·容器
追风少年王大爷丶3 小时前
nginx 配置无域名访问拒绝
运维·服务器·nginx
kyriewen113 小时前
异步编程:从“回调地狱”到“async/await”的救赎之路
开发语言·前端·javascript·chrome·typescript·ecmascript·html5