Я пытаюсь прочитать модуль hello.py
из Dockerfile и вижу следующую ошибку:
ModuleNotFoundError: No module named 'hello'
Я попытался изменить каталог на текущий рабочий каталог, где присутствует hello.py
, но это все равно не помогает.
Древовидная структура, как показано ниже, с hello.py и Dockerfile в одном месте:
├── Dockerfile
├── hello.py
├── __init__.py
├── Procfile
├── README.txt
├── requirements.txt
Содержимое Dockerfile:
FROM python:3.6.7
RUN pip install gunicorn
EXPOSE 5000
CMD PYTHONPATH=`pwd`/.. gunicorn --bind 0.0.0.0:5000 hello:app
Вывод при запуске контейнера
-----> docker run -p 5000:5000 <image_name>
[2019-06-29 05:03:02 +0000] [7] [INFO] Starting gunicorn 19.9.0
[2019-06-29 05:03:02 +0000] [7] [INFO] Listening at: http://0.0.0.0:5000 (7)
[2019-06-29 05:03:02 +0000] [7] [INFO] Using worker: sync
[2019-06-29 05:03:02 +0000] [10] [INFO] Booting worker with pid: 10
[2019-06-29 05:03:02 +0000] [10] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
worker.init_process()
File "/usr/local/lib/python3.6/site-packages/gunicorn/workers/base.py", line 129, in init_process
self.load_wsgi()
File "/usr/local/lib/python3.6/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
self.wsgi = self.app.wsgi()
File "/usr/local/lib/python3.6/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/usr/local/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
return self.load_wsgiapp()
File "/usr/local/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
return util.import_app(self.app_uri)
File "/usr/local/lib/python3.6/site-packages/gunicorn/util.py", line 350, in import_app
__import__(module)
ModuleNotFoundError: No module named 'hello'
[2019-06-29 05:03:02 +0000] [10] [INFO] Worker exiting (pid: 10)
[2019-06-29 05:03:02 +0000] [7] [INFO] Shutting down: Master
[2019-06-29 05:03:02 +0000] [7] [INFO] Reason: Worker failed to boot.
Что мне не хватает в Dockerfile?