Ответ 1
Используйте "
вместо '
в CMD. (Документация)
Я создаю новое изображение Docker на основе стандартного изображения Ubuntu 14.04.
Здесь мой файл Docker:
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,: not found
Но если я открываю оболочку при запуске изображения, запуск python
открывает интерактивное приглашение, как ожидалось.
Почему я не могу вызвать python
через CMD
в файле Docker?
Используйте "
вместо '
в CMD. (Документация)
Я решил проблему на своем Mac, изменив
CMD ["python", "app.py"]
к
CMD python app.py
У меня была такая же ошибка. Но в моем случае это была синтаксическая ошибка в команде. Имел CMD ["python" "app.py"]
вместо CMD ["python", "app.py"]
В этом случае может помочь проверка формата файла yaml. Можно использовать любой онлайн- валидатор yaml.