n1ro°
RU

Текст и данные · Инструкция

Как использовать docker compose wait

Вместо циклического `docker compose ps` можно дать Compose самому дождаться завершения контейнера. Особенно удобно для о

Редакция N1RO · Проверено

Короткий ответ

`docker compose wait SERVICE` блокирует терминал, пока контейнеры выбранного сервиса не остановятся; это удобно для shell-сценариев вокруг batch-job.

Что делать

  1. 1. Запустите job-сервис: Поднимите контейнер, который должен сам завершиться после работы.
  2. 2. Откройте ожидание: В другом shell или скрипте выполните `docker compose wait SERVICE`.
  3. 3. Дождитесь возврата: Команда завершится после остановки соответствующих контейнеров.
  4. 4. Проверьте итог отдельно: После wait при необходимости получите статус через `docker compose ps -a` и изучите logs.

Что именно ждёт команда

`wait` ожидает остановку контейнеров, а не переход healthcheck в `healthy`; для readiness нужен другой механизм.

Важно

`wait` не запускает сервис и не заменяет healthcheck; он ждёт именно остановки контейнера.

Как понять, что всё сработало

  • `docker compose wait SERVICE` завершается только после остановки целевого контейнера.
  • После возврата команды проверены exit/status контейнера и последние logs job-сервиса.

Что учитывать

`wait` не запускает сервис и не заменяет healthcheck; он ждёт именно остановки контейнера.

Источники и проверка

Инструкция составлена редакцией N1RO на 2026-09-18. Перед действием сверьте актуальные условия на официальном сайте сервиса или производителя.