python - docker 。如何运行 Flask 服务器主文件,在更深的文件结构中启动服务器

标签 python docker flask docker-compose

我的flask应用程序,在端口5000上启动flask服务器的主文件在里面:

服务器/main/core/setup.py

Docker 给了我这个错误,我知道是因为它找不到 setup.py:

ERROR: for flask_api  Cannot start service flask_api: oci runtime error: 
container_linux.go:265: starting container process caused "exec: 
\"/main/api/core\": stat /main/api/core: no such file or directory"

我的错误在 Dockerfile 中:

我将 setup.py 的默认路径从 Server/setup.py 更改为 Server/app/main/core/setup.py

询问如何在此路径上启动服务器

Dockerfile:

这是在我移动在端口 5000 上启动服务器的 setup.py 文件之前

# FROM python:3.6-alpine
# ADD ./Server /app
# WORKDIR /app
# RUN pip install -r requirements.txt
# EXPOSE 5000
# CMD ["python", "api.py"]

这是我将文件移得更深之后

FROM python:3.6-alpine
ADD ./Server /app
WORKDIR /app
RUN pip install -r requirements.txt
EXPOSE 5000
ENTRYPOINT ["/main/core"]
CMD ["python", "setup.py"]

有什么帮助如何点击 setup.py 吗?

最佳答案

入口点 ( https://docs.docker.com/engine/reference/builder/#entrypoint ) 和工作目录 ( https://docs.docker.com/engine/reference/builder/#workdir ) 有点困惑 请记住,您可以多次使用 WORKDIR。

你的 setup.py 应该位于路径:

Server/main/core/setup.py

我想你的 Dockerfile 应该是:

FROM python:3.6-alpine
ADD ./Server /app
WORKDIR /app 
RUN pip install -r requirements.txt
EXPOSE 5000
WORKDIR /app/main/core
CMD ["python", "setup.py"]

关于python - docker 。如何运行 Flask 服务器主文件,在更深的文件结构中启动服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47849798/

相关文章:

azure - 通过远程 api 设置 Docker Volume Driver 选择

python - Marshmallow 转储缺少 1 个必需的位置参数 : 'obj'

python - 为什么不从插入 flask 中获取数据?

python - numpy加载文件错误

python - shell=True 时如何确定 subprocess.Popen() 失败

docker - 有没有办法 “hibernate”一个Linux容器

python - Flask 无法运行 db migrate - NameError : name 'conn_uniques' is not defined

python - SQLite:使用一个文件与多个文件

javascript - 如何在滚动时从使用 javascript 加载元素的网页中进行抓取?

Dockerfile Alpine Image APK无法找到Java 8