Python selenium (firefox/geckodriver) не работает в контейнере Docker Linux/UbuntuLinux

Ответить Пред. темаСлед. тема
Anonymous
 Python selenium (firefox/geckodriver) не работает в контейнере Docker Linux/Ubuntu

Сообщение Anonymous »

Я пытаюсь запустить Docker-контейнер Linux/Ubuntu/Debian, который будет запускать веб-скребки с использованием Python Selenium. Я независим от драйверов, но начинаю с попытки запустить парсинг Firefox/Geckodriver.Мой Dockerfile в настоящее время выглядит следующим образом:

Код: Выделить всё

FROM ubuntu:jammy
WORKDIR /testdir
COPY requirements.txt requirements.txt

# install python, git, etc., all requirements.txt and selenium — THIS WORKS SO FAR
RUN : \
&& apt update \
&& DEBIAN_FRONTEND=noninteractive apt install \
-y \
--no-install-recommends \
python3-pip \
git \
ssh \
wget \
gnupg \
curl \
firefox \
&& pip3 install -r requirements.txt \
&& pip3 install selenium \
&& :

# install geckodriver — THIS WORKS SO FAR (RETRIEVES LATEST VERSION)
RUN : \
&& GECKODRIVER_VERSION=`curl -sL -I "https://github.com/mozilla/geckodriver/releases/latest" | grep -i "location:" | awk '{print $2}' | grep -o "v[0-9]\+.[0-9]\+.[0-9]\+"` \
&& wget https://github.com/mozilla/geckodriver/releases/download/$GECKODRIVER_VERSION/geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz \
&& tar -zxf geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz -C /usr/local/bin \
&& chmod +x /usr/local/bin/geckodriver \
&& rm geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz \

# install firefox — THIS FAILS
&& FIREFOX_SETUP=firefox-setup.tar.bz2 \
&& apt-get purge firefox \
&& wget -O $FIREFOX_SETUP "https://download.mozilla.org/?product=firefox-latest&os=linux64" \
&& tar xjf $FIREFOX_SETUP -C /opt/ \
&& ln -s /opt/firefox/firefox /usr/bin/firefox \
&& rm $FIREFOX_SETUP \
&& :

Последние строки вывода ошибки при запуске этого файла Dockerfile следующие:

Код: Выделить всё

[+] Running 0/1nt to continue? [Y/n] Abort.
⠋ Service scrape-dev  Building                                                                                       4.9s
failed to solve: process "/bin/sh -c :     && GECKODRIVER_VERSION=`curl -sL -I \"https://github.com/mozilla/geckodriver/releases/latest\" | grep -i \"location:\" | awk '{print $2}' | grep -o \"v[0-9]\\+.[0-9]\\+.[0-9]\\+\"`     && wget https://github.com/mozilla/geckodriver/releases/download/$GECKODRIVER_VERSION/geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz     && tar -zxf geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz -C /usr/local/bin     && chmod +x /usr/local/bin/geckodriver     && rm geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz     && FIREFOX_SETUP=firefox-setup.tar.bz2     && apt-get purge firefox     && wget -O $FIREFOX_SETUP \"https://download.mozilla.org/?product=firefox-latest&os=linux64\"     && tar xjf $FIREFOX_SETUP -C /opt/     && ln -s /opt/firefox/firefox /usr/bin/firefox     && rm $FIREFOX_SETUP     && :" did not complete successfully: exit code: 1
Я запускаю этот Dockerfile из файла docker-compose.yaml, который выглядит следующим образом:

Код: Выделить всё

# Version: "3.9"

services:

scrape-dev:

build:
context: .
dockerfile: pipeline/dockerfiles/Dockerfile

container_name: scrape-dev

image: scrape-dev

# Volumes below bind local paths to container paths.
# Note: individual SSH directory paths must be specified in individual .env files.
volumes:
- ./:/rtci
# - ${_SSH_PATH}:/root/.ssh
- "~/.gitconfig:/etc/gitconfig"

command: tail -F anything

profiles:
- scrape-dev
Я запускаю его с помощью следующей команды из терминала:

Код: Выделить всё

> docker compose up scrape-dev -d --build
Есть ли способ узнать, в чем здесь ошибка, кроме кода выхода?

Подробнее здесь: https://stackoverflow.com/questions/793 ... tu-contain
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»