Scrapy-Splash: не удалось запустить докер-контейнер с scrapinghub / splash: последний как базовый образ - PullRequest
0 голосов
/ 08 ноября 2018

Я создаю приложение Python Scrapy, которое использует некоторые службы Azure и Scrapy-Splash. Я попытался создать образ докера для моего приложения с scrapinghub/splash:latest в качестве базового образа на моем локальном компьютере с Windows.
Ниже используется Dockerfile,

FROM scrapinghub/splash:latest
WORKDIR /usr/src/snapshot

ADD requirements.txt ./
RUN pip install -r requirements.txt

ADD . ./

EXPOSE 8888 80

ENTRYPOINT ["/usr/src/snapshot/init_container.sh"]  

Файл init_container.sh содержит инструкцию для запуска приложения, python /usr/src/snapshot/SiteCrawler.py.
Теперь, когда я запускаю образ Docker с помощью команды docker run testsnapshot:0.1, приложение запускается и останавливается из-за ошибки импорта, ImportError: Нет модуля с именем azure.servicebus

Я попытался создать образ докера приложения с python: 3.6.6 в качестве базового образа, он работает нормально.

Приложение строит образ докера и корректно устанавливает пакеты из needs.txt. Приложение ниже моих требований. Текст

asn1crypto==0.24.0
attrs==18.2.0
Automat==0.7.0
azure-common==1.1.16
azure-nspkg==3.0.2
azure-servicebus==0.21.1
azure-storage==0.36.0
certifi==2018.10.15
cffi==1.11.5
chardet==3.0.4
constantly==15.1.0
cryptography==2.3.1
cssselect==1.0.3
hyperlink==18.0.0
idna==2.7
incremental==17.5.0
lxml==4.2.5
parsel==1.5.0
pip==18.0
pyasn1==0.4.4
pyasn1-modules==0.2.2
pycparser==2.19
PyDispatcher==2.0.5
PyHamcrest==1.9.0
pyOpenSSL==18.0.0
python-dateutil==2.7.3
queuelib==1.5.0
requests==2.20.0
Scrapy==1.5.1
scrapy-splash==0.7.2
service-identity==17.0.0
setuptools==39.0.1
six==1.11.0
Twisted==16.1.1
urllib3==1.24
w3lib==1.19.0
zope.interface==4.5.0

1 Ответ

0 голосов
/ 16 ноября 2018

Понял. Просто добавьте WORKDIR / usr / src / snapshot в VOLUME , как показано ниже.

VOLUME ["/usr/src/snapshot"]
...