Как запустить selenium в Docker с помощью Flask?

Моя цель - запустить Selenium с помощью Flask. Проблема в том, что он выбрасывает ошибку.

Что я сделал:

  1. Перекрестная проверка, является ли виновником gunicorn. Я делаю простой Dockerfile только с gunicorn и конечной точкой flask, которая возвращает "Hello World". Он работает, как и ожидалось. Поэтому я предполагаю, что виновником является webdriver.

Код, вызвавший ошибку

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()), options=chrome_options)

The Dockerfile

# Do not use Alpine Linux if you use pandas
# FROM python:3.10-alpine3.16
# bullseye https://wiki.debian.org/DebianReleases
FROM python:3.10-bullseye
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . /
# {module_import}:{app_variable}
# equivalent to 'from app import app'
CMD ["gunicorn", "-b", ":8080", "app:app"]

Требования.txt

flask==2.2.*
pandas==1.5.*
selenium==4.5.*
webdriver-manager==3.8.*
gunicorn==20.1.*

Этот код в моем Mac Mini M1 работает. Но когда я попытался запустить образ Docker, он выдает ошибку.

Вернуться на верх