Есть ли способ заставить docker-compose запустить службу без запуска объявленной команды?
Не уверен, что такая опция существует, ничего очевидного в флагах для докер-компоновать. Это было бы полезно для отладки, поскольку в настоящее время мне нужно закомментировать команду, чтобы войти в контейнер, который в противном случае закрывается при запуске.
В этом случае в Dockerfile нет command
, но есть command
в docker-compose.yml.
Это зависит от того, как вы его настроили. Если отдельные ENTRYPOINT и CMD настроены правильно, вы можете использовать docker-compose run
для запуска какой-либо команды, отличной от команды по умолчанию, в одном из контейнеров, которая запустит любые другие в сети, которые требуются указанной службе. Однако из вопроса трудно быть более конкретным.
Основываясь на комментарии jonrsharpe, ответ состоит в том, чтобы использовать вместо этого run
, так как он запустит контейнер.
docker-compose run service bash
Это позволяет войти в контейнер и отладить проблему, чтобы можно было запустить настоящую команду.
Проверьте это.