[英]Docker image with python3, chromedriver, chrome & selenium
试试https://github.com/SeleniumHQ/docker-selenium 。
它安装了python:
$ docker run selenium/standalone-chrome python3 --version
Python 3.5.2
说明表明您以
docker run -d -p 4444:4444 --shm-size=2g selenium/standalone-chrome
编辑:
要允许 selenium 通过 python 运行,您似乎需要安装这些软件包。 创建这个Dockerfile
:
FROM selenium/standalone-chrome
USER root
RUN wget https://bootstrap.pypa.io/get-pip.py
RUN python3 get-pip.py
RUN python3 -m pip install selenium
然后你可以运行它
docker build . -t selenium-chrome && \
docker run -it selenium-chrome python3
与普通python
docker 映像相比的优势在于,您不需要安装 chromedriver 本身,因为它来自selenium/standalone-chrome
。
我喜欢 Harald 的解决方案。 但是,截至 2021 年,我的环境需要进行一些修改。
Docker version 20.10.5, build 55c4c88
我按如下方式更改了 Dockerfile。
FROM selenium/standalone-chrome
USER root
RUN apt-get update && apt-get install python3-distutils -y
RUN wget https://bootstrap.pypa.io/get-pip.py
RUN python3 get-pip.py
RUN python3 -m pip install selenium
https://hub.docker.com/r/joyzoursky/python-chromedriver/
它使用 python3 作为基础映像并安装 chromedriver、chrome 和 selenium(作为 pip 包)来构建。 我自己使用了基于 alpine 的 python3 版本,因为图像尺寸较小。
$ cd [your working directory]
$ docker run -it -v $(pwd):/usr/workspace joyzoursky/python-chromedriver:3.6-alpine3.7-selenium sh
/ # cd /usr/workspace
查看图像是否适合您的情况,因为您可以通过requirements.txt
文件将 selenium 与其他软件包一起安装以构建您自己的图像,或者从 Dockerfiles 中获取参考。
如果你想通过 pip 安装除了 selenium 之外的更多包,你可以像这个例子一样构建你自己的镜像:
首先,在您的工作目录中,您可能有一个requirements.txt
存储您要安装的软件包版本:
selenium==3.8.0
requests==2.18.4
urllib3==1.22
... (your list of packages)
然后在同一目录中创建 Dockerfile,如下所示:
FROM joyzoursky/python-chromedriver:3.6-alpine3.7
RUN mkdir packages
ADD requirements.txt packages
RUN pip install -r packages/requirements.txt
然后构建镜像:
docker build -t yourimage .
这与 selenium 官方不同,因为 selenium 作为 pip 包安装到 python 基础映像。 然而,它是由个人托管的,因此停止维护的风险可能更高。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.