泊坞窗。 如何运行一个烧录服务器的主文件,在较深的文件结构中启动服务器

我的烧瓶应用程序,在端口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默认path从Server/setup.py更改为Server/app/main/core/setup.py

问题如何在这个path上启动服务器

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 )和workdir( https://docs.docker.com/engine/reference/builder/#workdir )有点乱请记住,您可以多次使用WORKDIR。

你的setup.py应该在path中:

 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"]