Я запускаю небольшой скрипт на 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. *.
Есть идеи?