Разница между `docker-compose down` и Ctrl + C - PullRequest
3 голосов
/ 21 марта 2019

Предположим, вы запускаете мультиконтейнерное приложение Docker, которое состоит из контейнера базы данных и контейнера приложения. В чем разница между следующими двумя методами для его выключения:

Первый метод
1. Откройте терминал и запустите приложение с помощью docker-compose up.
2. Закройте приложение с помощью Ctrl + C.

Второй метод
1. Откройте терминал и запустите приложение с помощью docker-compose up.
2. Откройте второй терминал и закройте приложение, нажав docker-compose down.

В моем понимании оба метода должны делать то же самое. Однако при использовании второго метода я обычно вижу некоторые исключения в журналах приложения, когда оно не может подключиться к базе данных, когда оно уже закрыто, чего я в противном случае не вижу.

Какой метод рекомендуется?

1 Ответ

4 голосов
/ 21 марта 2019

Запуск Ctrl + C остановит только контейнеры (на самом деле это эквивалентно docker-compose stop), в то время как docker-compose down также удалит остановленные контейнеры и удалит все сети, созданные файлом compose.

Ctrl + Cоднако будет работать только в том случае, если все службы не запущены как отдельные (docker-compose up не имеет установленного флага -d)

Что касается рекомендуемого метода, то он действительно зависит от вашего конкретного варианта использования.Если вам нужно только остановить службы, но не удалить контейнеры, docker-compose stop будет достаточно.Если вы хотите перестроить образы или использовать другие образы, вам может понадобиться запустить docker-compose down.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...