Подтвердить что ты не робот

В чем разница между запуском докеры и составлением докеры?

Всякий раз, когда я выполняю

docker-compose start 
docker-compose ps

Я вижу свои контейнеры с состоянием "UP". Если я делаю

docker-compose up -d

Я увижу более многословное, но будет иметь одно и то же состояние. Есть ли разница между обеими командами?

4b9b3361

Ответ 1

Docker-составить начало
(https://docs.docker.com/compose/reference/start/)

Запускает существующие контейнеры для службы.

докер-сочинять
(https://docs.docker.com/compose/reference/up/)

Создает, (повторно) создает, запускает и присоединяет к контейнерам для службы.

Если они еще не запущены, эта команда также запускает любые связанные службы.

Команда docker-compose up агрегирует выходные данные каждого контейнера (по сути, запускает docker-compose logs -f). Когда команда завершается, все контейнеры останавливаются. Запуск docker-compose up -d запускает контейнеры в фоновом режиме и оставляет их работающими.

Если для службы существуют существующие контейнеры, а конфигурация или образ служб были изменены после создания контейнеров, docker-compose up обрабатывает изменения, останавливая и воссоздавая контейнеры (сохраняя подключенные тома). Чтобы запретить Compose принимать изменения, используйте флаг --no-recreate.

Для полной ссылки CLI:
https://docs.docker.com/compose/reference/

Ответ 2

В докере Часто задаваемые вопросы это объясняется очень четко:

В чем разница между включением, запуском и запуском?

Как правило, вы хотите docker-compose up. Используйте up для запуска или перезапуска всех служб, определенных в docker-compose.yml. В стандартном "прикрепленном" режиме вы видите все журналы из всех контейнеров. В "отдельном" режиме (-d) Compose завершает работу после запуска контейнеров, но контейнеры продолжают работать в фоновом режиме.

Команда docker-compose run предназначена для запуска одноразовых или специальных задач. Требуется имя службы, которую вы хотите запустить, и запускаются контейнеры только для служб, от которых зависит запущенная служба. Используйте команду run для запуска тестов или выполнения административных задач, таких как удаление или добавление данных в контейнер тома данных. Команда run действует как docker run -ti в том смысле, что она открывает интерактивный терминал для контейнера и возвращает состояние выхода, соответствующее состоянию выхода процесса в контейнере.

Команда запуска docker-compose полезна только для перезапуска контейнеров, которые были ранее созданы, но были остановлены. Он никогда не создает новые контейнеры.