首页 > 解决方案 > 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

有任何想法吗?

标签: seleniumdockercontainersdockerfile

解决方案


推荐阅读