Я с трудом пытаюсь понять это.
Итак, у меня есть файл докеров на основе образа Ubuntu. В конце моего файла докеров у меня есть:
CMD django-admin startproject $PROJECTNAME
В предыдущем посте мне сказали, что в базовом образе Ubuntu есть CMD для запуска /bin/bash, поэтому моя команда фактически перезаписывает его (не уверен, актуально это или нет).
Проблема, с которой я сталкиваюсь, заключается в том, что я запускаю:
docker run -i -t <containerid>
Ничего не происходит... docker ps показывает, что контейнеры не запущены
Но если я бегу:
docker run -i -t <containerid> /bin/bash
Контейнер запускается, я в шелле, а docker ps показывает, что этот контейнер запущен. Все работает, как и ожидалось, но моего проекта django там нет, и я понимаю, что запуск /bin/bash переопределяет CMD в файле докеров, что означает, что django-admin startproject никогда не запускается.
Изнутри контейнера я могу запустить django-admin startproject $projectname, и он создаст проект без проблем, что говорит мне, что django и все его зависимости установлены, и мои переменные среды регистрируются.
Тем не менее, я все еще подозреваю, что в моем файле докеров может быть проблема с моим CMD, и я не знаю, что делать дальше.
С моим предоставленным файлом dockerfile, если я не запущу контейнер с /bin/bash, контейнер не запустится.
Вывод образов докеров:
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> cbec557d6362 About a minute ago 579 MB
<none> <none> 6919c19b159a 16 hours ago
запуск докера:
docker run -i -t cbec557d6362
docker images
и точную командуdocker run
? Просто хочу подтвердить, что вы запускаете правильный образ. - person R0MANARMY   schedule 07.11.2016