selenium - WebDriverException:消息:无效参数:无法终止 Docker 容器中的退出进程返回奇怪的错误
问题描述
我正在运行一个小的 Python 脚本,它从公共网站上抓取一些数据。
当我使用 selenium:latest 图像在交互式终端中逐行运行 Dockerfile 指令时,脚本运行良好。
docker run -it -v /Users/me/Desktop/code/scraper/:/scraper selenium/standalone-firefox bash
一旦我使用我的 Dockerfile 和 docker-compose 文件运行它,我就会收到以下错误:
app_1 | selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process
我正在使用 MOZ_HEADLESS=1 环境变量。它正在正确通过。
我曾尝试以 root 以外的人身份运行脚本,但随后出现日志错误。
Dockerfile
FROM selenium/standalone-firefox:latest
# https://github.com/SeleniumHQ/docker-selenium/issues/725
USER root
RUN apt-get update -y
RUN apt-get install -y firefox python-pip
WORKDIR /scraper
COPY . /scraper
RUN pip install -r /scraper/requirements.txt
ENV MOZ_HEADLESS=1
CMD ["python", "/scraper/browserscraper.py"]
如果我从交互式终端在 Dockerfile 中运行这些指令,我就没有问题。
它要么与用户是通过 Dockerfile 运行脚本的 root 用户有关,要么与它缺少输出屏幕有关,因为我实际上并没有像我从命令行运行它一样通过 SSH 运行它-it
。
有任何想法吗?
解决方案
推荐阅读
- unity3d - 当我制作 The WebGl Link 时,它显示此错误 WebGL 构建在移动设备上不受支持。立方体赛跑者
- django - 我的表单没有保存使用引导程序在 django 中进行样式设置
- reactjs - 来自 useSelector 的数据导致无限重新渲染为依赖项
- python - 有没有办法在 O(1) 时间复杂度中删除 Python 中字符串的最后一个字符?
- r - 在 R 中对列名使用 mutate
- python - 具有多个键的熊猫数据框到 json
- twilio - WhatsAPP - 通过 Twilio 集成 MS Teams
- neural-network - 如何修复 pytorch 神经网络中不正确的通道大小?
- nginx - 让我们加密,而不是将一个 URL 重定向到 https
- python - 无法使用 Beautifulsoup 从 span 获取文本