Docker镜像错误:"/ bin/sh:1:[python,:not found"

Joe*_*nin 32 python django ubuntu docker dockerfile

我正在构建一个基于标准Ubuntu 14.04映像的新Docker镜像.

这是我的Dockerfile:

FROM ubuntu:14.04
RUN apt-get update -y
RUN apt-get install -y nginx git python-setuptools python-dev
RUN easy_install pip
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt # only 'django' for now
ENV projectname myproject
EXPOSE 80 8000
WORKDIR ${projectname}
CMD ['python', 'manage.py', 'runserver', '0.0.0.0:80']
Run Code Online (Sandbox Code Playgroud)

当我尝试运行此图像时,我收到此错误...

/ bin/sh:1:[python,:找不到

但是,如果我在运行映像时打开shell,则运行会python按预期打开交互式提示.

为什么我不能调用python通过CMD在Dockerfile?

Ale*_*lev 44

使用",而不是'在CMD.(文档)

  • 更改文件后,还需要`docker-compose build`. (3认同)

小智 8

我已通过更改Mac解决了我的问题

CMD ["python", "app.py"]
Run Code Online (Sandbox Code Playgroud)

CMD python app.py
Run Code Online (Sandbox Code Playgroud)


Apo*_*ath 6

我有同样的错误。但就我而言,它是命令中的语法错误。
我缺少一个逗号“,”
CMD ["python" "app.py"]
而不是
CMD ["python", "app.py"]

在这种情况下,验证 yaml 文件格式会有所帮助。可以使用任何在线yaml 验证器