Я создаю образ docker, используя пакеты scrapy и scrapy-selenium, в которые я внес несколько изменений и могу отлично запускать их на моем локальном компьютере (ubuntu 18.04). Однако когда я помещаю эти пакеты в контейнеры. и запустите контейнер, он дает мне ОШИБКУ при загрузке URL . Эта ошибка возникает, когда я запускаю свой контейнер.
При создании контейнера для пакета я использовал RUN pip3 install -e .
, следующую команду. Где у меня есть клонированное репо внутри моего контейнера.
Вот журнал контейнера:
2020-05-06 18:10:06 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
2020-05-06 18:10:07 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://127.0.0.1:60375/session/83599014-e3ce-4bd0-9018-4a1d2d481836/execute/sync {"script": "return document.documentElement.scrollHeight", "args": []}
2020-05-06 18:10:09 [urllib3.connectionpool] DEBUG: http://127.0.0.1:60375 "POST /session/83599014-e3ce-4bd0-9018-4a1d2d481836/execute/sync HTTP/1.1" 500 105
2020-05-06 18:10:09 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
2020-05-06 18:10:09 [scrapy.core.scraper] ERROR: Error downloading <GET https://www.youtube.com/>
вот файл docker:
FROM ubuntu:bionic
RUN apt-get update && apt-get install -y \
python3 python3-pip \
fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 \
libnspr4 libnss3 lsb-release xdg-utils libxss1 libdbus-glib-1-2 \
curl unzip wget \
xvfb
# install geckodriver and firefox
RUN GECKODRIVER_VERSION=`curl https://github.com/mozilla/geckodriver/releases/latest | grep -Po '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
RUN 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
# install git
RUN apt-get update && \
apt-get install -y git
# Set the working directory to /usr/src/app.
WORKDIR /usr/src/app
# Copy the file from source (where the Dockerfile is created in the folder to the WORKDIR in container)
COPY requirements.txt ./
RUN pip3 install --no-cache-dir -r requirements.txt
# Copy the project source code from the local host to the filesystem of the container at the working directory.
COPY . .
WORKDIR /usr/src/app/additional-edited-package
RUN pip3 install -e .
WORKDIR /usr/src/app/
CMD [ "python3", "go-spidert.py" ]
Requirements.txt
attrs==19.3.0
Automat==20.2.0
boto3==1.12.47
botocore==1.15.47
cffi==1.14.0
constantly==15.1.0
cryptography==2.9.2
cssselect==1.1.0
docutils==0.15.2
hyperlink==19.0.0
idna==2.9
incremental==17.5.0
jmespath==0.9.5
lxml==4.5.0
numpy==1.18.3
pandas==1.0.3
parsel==1.5.2
Protego==0.1.16
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycparser==2.20
PyDispatcher==2.0.5
PyHamcrest==2.0.2
pyOpenSSL==19.1.0
python-dateutil==2.8.1
pytz==2020.1
queuelib==1.5.0
s3transfer==0.3.3
Scrapy==2.1.0
selenium==3.141.0
service-identity==18.1.0
six==1.14.0
Twisted==20.3.0
urllib3==1.25.9
w3lib==1.21.0
zope.interface==5.1.0