Это мой DockerFile:
FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY . /app
ENV HOME=/app
WORKDIR /app
RUN pip install -r requirements.txt
EXPOSE 8000
ENTRYPOINT ["gunicorn", "-b", "0.0.0.0:8000", "-w", "4", "app:app"]
Все идет гладко. Я вижу в журналах, что все модули устанавливаются через:
pip install -r requirements.txt
покавсякий раз, когда я запускаю:
docker start -ai backend
, он выдает ошибку и говорит:
Traceback (most recent call last):
File "app.py", line 1, in <module>
from backend import app
File "/app/backend/__init__.py", line 1, in <module>
from flask import render_template, Flask
ImportError: No module named flask
Редактировать: в моем файле needs.txt есть необходимые модули. Я могу запустить команду gunicornиз командной строки, и он прекрасно запускает сервер.
файл Requirements.txt:
certifi==2018.4.16
chardet==3.0.4
click==6.7
Flask==0.12.2
Flask-Cors==3.0.7
Flask-MySQL==1.4.0
gunicorn==19.7.1
idna==2.6
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
PyMySQL==0.9.3
requests==2.18.4
six==1.12.0
urllib3==1.22
Werkzeug==0.14.1
Edit # 2
Я обнаружил, что делает:
sudo docker run -it backend:latest bash
работает, но я не могу зайти на сайт.