Щоразу, коли я страчу
docker-compose start
docker-compose ps
Я бачу свої контейнери зі станом "UP". Якщо я це роблю
docker-compose up -d
Я побачу більш багатослівний, але він матиме той самий стан. Чи є різниця між обома командами?
Щоразу, коли я страчу
docker-compose start
docker-compose ps
Я бачу свої контейнери зі станом "UP". Якщо я це роблю
docker-compose up -d
Я побачу більш багатослівний, але він матиме той самий стан. Чи є різниця між обома командами?
Відповіді:
початок докер-композиції
( 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/
У докері, які часто задають питання, це пояснюється дуже чітко:
Яка різниця між вгору, запуску та запуску?
Як правило, ви хочете
docker-compose up. Використовуйтеupдля запуску або перезавантаження всіх служб, визначених у adocker-compose.yml. У режимі "додавання" за замовчуванням ви бачите всі журнали з усіх контейнерів. У режимі "від'єднаний" (-d) Compose виходить після запуску контейнерів, але контейнери продовжують працювати у фоновому режимі.
docker-compose runКоманда для запуску «одноразовий» або «AdHoc» завдання. Він вимагає назви служби, яку ви хочете запустити, і запускає лише контейнери для служб, від яких залежить запущена служба. Використовуйтеrunдля запуску тестів або виконання адміністративних завдань, таких як видалення або додавання даних до контейнера обсягу даних.runКоманда діє якdocker run -tiв тому , що вона відкриває інтерактивний термінал в контейнер і повертає статус виходу , відповідний статус завершення процесу в контейнері.
docker-compose startКоманда корисна тільки для перезапуску контейнерів , які раніше були створені, але були зупинені. Він ніколи не створює нових контейнерів.