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?
Utilisation "
au lieu de '
en CMD. (Documentation)
J'ai résolu mon problème sur mon Mac en modifiant
CMD ["python", "app.py"]
à
CMD python app.py
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 .