【问题标题】:Docker container build faild: "exec: \"flask\": executable file not found in $PATH": unknownDocker 容器构建失败:“exec:\”flask\”:$PATH 中找不到可执行文件”:未知
【发布时间】:2020-08-27 06:30:27
【问题描述】:

我正在学习 docker。我尝试在 docker,com 上运行示例 dockerfile。但我有一个问题是“来自守护进程的错误响应:OCI 运行时创建失败:container_linux.go:345:启动容器进程导致“exec:\”flask\”:$PATH 中找不到可执行文件”:未知 ”。

FROM python:3.7-alpine

WORKDIR /code
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["flask","run"]

非常感谢。

【问题讨论】:

  • requirements.txt 中有flask 吗?请将您的 Dockerfile 包装在代码块中,以便于阅读。
  • 谢谢,我检查了 requirements.txt。我有两行:flask 和 redis。我遵循这个:docs.docker.com/compose/gettingstarted
  • 能否更新您在 docker 中使用的命令来回答您的问题?

标签: docker


【解决方案1】:

似乎在 PATH 中找不到 flask。它要么没有安装(它在 requirements.txt 中吗?),或者只是没有添加到路径中。

您可以尝试设置CMD ["python", "-m", "flask", "run"]

编辑:这里的例子很适合我。 https://docs.docker.com/compose/gettingstarted/

您可以尝试传递 --no-cache 选项以防万一制作干净的图像:docker build --no-cache -t test . 然后运行 ​​docker run test

在尝试测试图像时,在进入docker-compose 状态之前。

【讨论】:

  • 我检查了requiremets.txt,我有两行flask和redis。我正在关注这个:docs.docker.com/compose/gettingstarted。我试过你的方法。它仍然错误。非常感谢帮助我。
  • 我用示例更新了答案,它对我来说是如何工作的。
  • 我运行了“docker-compose up”,它不工作。我尝试运行“docker build”。它正在工作。
  • 你也试过“docker run”吗?
  • 是的,“docker run”也是如此。它现在正在工作。我将 CMD 设置为 CMD ["python", "-m", "flask", "run"] 并删除旧容器并在此之前创建由“compose up”创建的图像。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-10
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
  • 2022-01-21
相关资源
最近更新 更多