web-dev-qa-db-fra.com

Erreur d'image Docker: "/ bin / sh: 1: [python,: introuvable"

Je construis une nouvelle image Docker basée sur l'image standard Ubuntu 14.04.

Voici mon 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']

Lorsque j'essaie d'exécuter cette image, j'obtiens cette erreur ...

/ bin/sh: 1: [python ,: introuvable

Mais si j'ouvre un shell lors de l'exécution de l'image, l'exécution de python ouvre l'invite interactive comme prévu.

Pourquoi ne puis-je pas appeler python à CMD dans le Dockerfile?

32
Joe Mornin

Utilisation " au lieu de ' en CMD. (Documentation)

42
Aleksandr Kovalev

J'ai résolu mon problème sur mon Mac en modifiant

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

à

CMD python app.py
8
srinivasa karadi

J'ai eu la même erreur. Mais dans mon cas, c'était une erreur de syntaxe dans la commande. Eu CMD ["python" "app.py"] au lieu de CMD ["python", "app.py"]

La validation du format de fichier yaml peut aider dans ce cas. Peut utiliser n'importe quel en ligne validateur yaml .

0