Какие основные команды используются для управления сервисами в Docker Compose

Ответ

Для управления жизненным циклом сервисов, описанных в файле 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

Вот и вся магия, ёпта. Ничего сложного, главное — практиковаться, пока не станет так же просто, как чайник включить.