【问题标题】:Docker. How to run a flask server main file that start the server inside deeper file structure码头工人。如何在更深的文件结构中运行启动服务器的烧瓶服务器主文件
【发布时间】:2017-12-16 20:45:05
【问题描述】:

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

【问题讨论】:

  • 你的ENTRYPOINT 行没有任何意义。
  • 我只注意到这是针对 exe 文件的
  • 我只是组织了我的服务器代码,然后从文件夹的根目录中删除了安装文件,并且我移动了 2 个级别。我能做什么来运行 setup.py 2 个级别的 deaper

标签: python docker flask docker-compose


【解决方案1】:

入口点 (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"]

【讨论】:

  • 谢谢,兄弟帮帮我。对不起,我是 Docker 新手
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-21
  • 1970-01-01
  • 2021-12-26
相关资源
最近更新 更多