泊坞窗。如何运行在更深层文件结构中启动服务器的烧瓶服务器主文件

问题描述 投票:1回答:1

我的烧瓶app,在端口5000上启动烧瓶服务器的主文件在里面:

Server/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:

This is before I move the setup.py file that starts the server on port 5000

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

This is after I move the file deeper

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 ??

python docker flask docker-compose
1个回答
2
投票

入口点(https://docs.docker.com/engine/reference/builder/#entrypoint)和workdir(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"]
© www.soinside.com 2019 - 2024. All rights reserved.