当前位置: 首页 > 知识库问答 >
问题:

运行docker容器时出错:启动容器进程导致“exec:\“python\”:在$PATH中找不到可执行文件:未知

王磊
2023-03-14

我正在尝试对一个简单的Python Flask应用程序进行dockerize,但在运行容器时出现了一个错误。

Docker:来自守护进程的错误响应:OCI运行时创建失败:container_linux.go:344:启动容器进程导致"exec:\"python\":在$PATH中找不到可执行文件:未知。

localhost工作人员:

/home/ubuntu/flask_web
- app.py
- Dockerfile
- requirements.txt

应用程序。派克

#flask_web/app.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hey, we have Flask in a Docker container'


if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0')

Dockerfile文件

FROM ubuntu:16.04

MAINTAINER xyz "xyz@gmail.com"

RUN apt-get update \
    && apt-get install -y software-properties-common vim \
    && add-apt-repository ppa:jonathonf/python-3.6 \
    && apt-get update -y \
    && apt-get install -y build-essential python3.6 python3.6-dev python3-pip python3.6-venv \
    && pip3 install --upgrade pip

# We copy just the requirements.txt first to leverage Docker cache
COPY ./requirements.txt /app/requirements.txt

WORKDIR /app

RUN pip install -r requirements.txt

COPY . /app

ENTRYPOINT [ "python" ]

CMD [ "app.py" ]

命令:

docker build -t flask-test:latest .
docker run -p 5000:5000 flask-test

预期:烧瓶网应在端口5000上运行

实际结果:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "exec: \"python\": executable file not found in $PATH": unknown.

共有2个答案

华泳
2023-03-14

我收到了同样的问题,除了它在喊344以外的其他号码

docker:来自守护进程的错误响应:OCI运行时创建失败:container_linux.go:344:启动容器进程导致"exec:\"python\":在$PATH中找不到可执行文件:未知。

FROM ubuntu:20.04

RUN apt-get update -y
RUN apt-get install -y python3
RUN apt-get install -y python3-pip

COPY ./requirements.txt /app/requirements.txt

WORKDIR /app

RUN pip3 install -r requirements.txt

COPY . /app

ENTRYPOINT [ "python" ]

CMD [ "app.py" ]

我将行ENTRYPOINT[“python”]更改为ENTRYPOINT[“python3”]现在工作正常。原因是上面我使用了Python3,因此没有Python的候选者,而是Python3的候选者。

RUN apt-get install -y python3
RUN apt-get install -y python3-pip
姬乐池
2023-03-14

由上述代码构建的docker映像中没有/usr/bin/python。但是有/usr/bin/python3。因此,您可以直接使用python3作为ENTRYPOINT或创建符号链接。

 类似资料:
  • 我能够进入容器"Mariadb"使用 但我不能,我现在有这个错误

  • 我试图启动一个docker容器,我得到错误“来自守护进程的错误响应:OCI运行时创建失败:container_linux.go:349:启动容器进程导致”exec:“uwsgi”:在$PATH中找不到可执行文件“:未知”。我认为这与我的dockerfile和uwsgi文件有关,但我不确定为什么我无法启动我的容器。我已经安装了pip uwsgi。除了安装uwsgi,我也没有找到任何其他解决方案,尽管

  • 我试图将我的FastApi应用程序docker化,但在我运行命令docker compose-f local之后,它就因为这个错误崩溃了。有人能帮我吗? Dockerfile: local.yml文件: 错误: 无法启动服务核心:无法创建填充:OCI运行时创建失败:container\u linux。go:380:启动容器进程导致:exec:“uvicorn”:在$PATH中未找到可执行文件:未知

  • 我是docker新手。我想在docker中部署我的应用程序节点js,但我面临以下错误,请帮助我 /usr/bin/docker-current:来自守护进程的错误响应:oci运行时错误:container_linux.go:247:启动容器进程导致“在$PATH中找不到exec: \".\": 可执行文件”。 Dockerfile:

  • 错误:无法启动服务cpanel_客户端:头字段值无效“oci运行时错误:容器_linux.go:247:启动容器进程导致”exec:\“sudo\”:未找到可执行文件 这是我的docker文件, 这是码头工人。yml, 我的package.json档案, 建造成功了。当我运行时,我遇到了这个错误。有人能告诉我哪里错了吗?

  • 我是docker的新手。我正在尝试使用docker-compose将我的Go应用程序容器化。技术使用Golang、Docker 20.10.8和Air(用于实时重新加载)。我的Dockerfile看起来像这样。 我的docker撰写。yml就是这个。 在运行命令sudo docker-compose up-d时,我收到以下错误 来自守护进程的错误响应:OCI运行时创建失败:container_li