Я пытаюсь запустить приложение Flask с помощью Docker.
Обычно, чтобы запустить приложение Flask, я запускаю это в моем терминале:
python myapp.py images/*
Я не уверен, как преобразовать это в синтаксис Docker CMD (или если мне нужно отредактировать ENTRYPOINT).
Вот мой файл докера:
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential hdf5-tools
COPY . ~/myapp/
WORKDIR ~/myapp/
RUN pip install -r requirements.txt
ENTRYPOINT ["python"]
CMD ["myapp.py"]
Внутри Required
flask
numpy
h5py
tensorflow
keras
Когда я запускаю образ докера:
person@person:~/Projects/$ docker run -d -p 5001:5000 myapp
19645b69b68284255940467ffe81adf0e32a8027f3a8d882b7c024a10e60de46
Докер PS:
Up 24 seconds 0.0.0.0:5001->5000/tcp hardcore_edison
Когда я дошел до localhost: 5001, я не получил ответа.
Это проблема с моим параметром CMD?
EDIT:
Новый Dockerfile:
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential hdf5-tools
COPY . ~/myapp/
WORKDIR ~/myapp/
EXPOSE 5000
RUN pip install -r requirements.txt
CMD ["python myapp.py images/*.jpg "]
С этой новой конфигурацией при запуске:
docker run -d -p 5001:5000 myapp
Я получаю:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"python myapp.py images/*.jpg \": stat python myapp.py images/*.jpg : no such file or directory": unknown.
Когда я бегу:
docker run -d -p 5001:5000 myapp python myapp.py images/*.jpg
Я запускаю образ Docker, но теперь, когда я захожу на localhost: 5001, он жалуется, что соединение было сброшено.