Ответ
Для управления жизненным циклом сервисов, описанных в файле docker-compose.yml, используются следующие ключевые команды:
-
docker-compose up— Создает и запускает контейнеры.- С флагом
-d(--detach) запускает контейнеры в фоновом (detached) режиме. - С флагом
--buildпринудительно пересобирает образы перед запуском.
# Запустить в фоновом режиме docker-compose up -d - С флагом
-
docker-compose down— Останавливает и удаляет контейнеры, сети, и тома (volumes), созданные командойup.# Остановить и удалить все ресурсы docker-compose down -
docker-compose ps— Показывает статус запущенных сервисов. -
docker-compose logs— Выводит логи сервисов.- С флагом
-f(--follow) можно следить за логами в реальном времени.
# Посмотреть логи сервиса web docker-compose logs -f web - С флагом
-
docker-compose exec— Выполняет команду внутри запущенного контейнера.# Запустить интерактивную оболочку bash в контейнере db docker-compose exec db bash
Примечание: Если ваш файл конфигурации называется иначе, чем docker-compose.yml, его нужно указать с помощью флага -f:
docker-compose -f my-custom-compose.yml up Ответ 18+ 🔞
А, вот эта штука с докер-композом, да? Ну, слушай, это же просто пиздец как удобно, когда у тебя там целый зоопарк сервисов крутится. Вместо того чтобы вручную каждый контейнер хуячить, ты пишешь один файлик, и всё, блядь, живёт. Главное — не накосячить в этом самом docker-compose.yml, а то потом волнение ебать, почему не стартует.
Ну ладно, вот тебе основные палочки-выручалочки, которыми ты будешь тыкать в эту систему.
-
docker-compose up— Это типа «запускай всё нахуй!». Поднимает все контейнеры, которые описаны.- Если добавишь
-d, то они побегут в фоне, как тараканы за плинтус. Ты спокойно можешь дальше в консоли работать. - А если ты там образы переписал, то
--buildзаставит его всё пересобрать заново, а не тащить старое из кэша.
# Запустить в фоновом режиме docker-compose up -dВот так, и пошла жара.
- Если добавишь
-
docker-compose down— Полная противоположность. Это «всё нахуй, сворачиваем лавочку». Останавливает контейнеры, удаляет сети, чистит за собой. Красота.# Остановить и удалить все ресурсы docker-compose down -
docker-compose ps— Ну тут всё просто, как три копейки. Спрашиваешь: «Э, ребята, вы где? Кто живой?». И он тебе список показывает, кто работает, а кто спит. -
docker-compose logs— А это чтобы подслушать, о чём там твои сервисы шепчутся. Что пишут в свои логи.-f— это вообще магия, можно смотреть за этим в реальном времени, как сериал.# Посмотреть логи сервиса web docker-compose logs -f webСидишь, попкорн жрёшь, смотришь, как твое приложение ругается на ошибку в базе. Удовольствие, блядь.
-
docker-compose exec— Вот это мощная вещь. Позволяет тебе залезть прямо внутрь контейнера, как червь в яблоко. Хочешь — файлы посмотри, хочешь — команду какую выполни.# Запустить интерактивную оболочку bash в контейнере db docker-compose exec db bashИ ты уже там, внутри этой виртуальной коробочки. Главное — не нахулиганить.
Примечание на полях: А, да, чуть не забыл! Если твой файл называется не как все — не docker-compose.yml, а какая-нибудь my-super-config.yml, то ты должен ему это явно сказать. А то он же тупой, сам не догадается. Флаг -f в помощь.
docker-compose -f my-custom-compose.yml up
Вот и вся магия, ёпта. Ничего сложного, главное — практиковаться, пока не станет так же просто, как чайник включить.