Я следовал этому руководству , чтобы запустить приложение Rails 6 и запустить его в Docker (хотя этот вопрос не относится к Rails)
В Dockerfile
оно имеетследующая команда
# The main command to run when the container starts. Also
# tell the Rails dev server to bind to all interfaces by
# default.
CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"]
Отлично, поэтому она дает команду запуска для локального запуска сервера rails.
Позже в той же статье в файле docker-compose.yml
показано следующее:
services:
...
web:
build: .
command: bash -c "foreman start -f Procfile.dev-server"
...
Теперь он предоставляет другую команду для запуска приложения (используя гем foreman
, который, вероятно, запускает сервер rails аналогично первой команде).
Какая "команда" действительно выполняет и запускает все?Команда docker-compose переопределяет Dockerfile
CMD
, когда я запускаю docker-compose up
?