web-dev-qa-db-ja.com

Dockerイメージエラー:「/ bin / sh:1:[python ,: not found」

標準の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']

このイメージを実行しようとすると、このエラーが発生します...

/ bin/sh:1:[python ,:見つかりません

しかし、イメージの実行中にシェルを開くと、pythonを実行すると、期待どおりに対話型プロンプトが開きます。

DockerfileでpythonからCMDを介して呼び出せないのはなぜですか?

32
Joe Mornin

つかいます " の代わりに ' CMD。 (ドキュメント)

42

Macで変更することで問題を解決しました

CMD ["python", "app.py"]

CMD python app.py
8

同じエラーが発生しました。しかし、私の場合、コマンドの構文エラーでした。持っていました CMD ["python" "app.py"] の代わりに CMD ["python", "app.py"]

この場合、yamlファイル形式の検証が役立ちます。任意のオンライン yamlバリデーター を使用できます。

0