Я создаю приложение 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