WebDriverException: Сообщение: неверный аргумент: не может завершить завершенный процесс в контейнере Docker, возвращает странные ошибки - PullRequest
1 голос
/ 16 мая 2019

Я запускаю небольшой скрипт на Python, который собирает некоторые данные с общедоступного веб-сайта.

Когда я построчно запускаю инструкции Dockerfile в интерактивном терминале, используя selenium: последнее изображение, скрипт работает нормально .

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 env var. Это проходит правильно.

Я пытался запустить скрипт от имени другого пользователя, кроме 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 с интерактивного терминала, у меня нет проблем.

Это либо связано с тем, что пользователь, являющийся пользователем root, запускает скрипт через Dockerfile, либо что-то из-за этого пропускает экран для вывода, потому что на самом деле я не подключен по SSH, как будто я запускаю его из командной строки с * 1023. *.

Есть идеи?

...