n1ro°
RU

Ошибки и коды · Инструкция

Docker container сразу завершается: CMD, ENTRYPOINT и PID 1

Попытка «удержать контейнер живым» искусственным tail/sleep скрывает причину. Для сервисного образа основной процесс дол

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

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

Контейнер живёт, пока работает его основной процесс. Посмотрите exit code и logs, затем проверьте итоговые `CMD`/`ENTRYPOINT`; если команда быстро завершается или падает, контейнер тоже остановится.

Что делать

  1. Посмотрите состояние: `docker ps -a` покажет exit code и время остановки.
  2. Прочитайте logs: Выполните `docker logs <container>`.
  3. Проверьте startup command: Используйте `docker inspect` и Dockerfile, чтобы понять сочетание ENTRYPOINT/CMD.
  4. Запустите диагностически: Переопределите entrypoint/command только для исследования файлов и конфигурации.
  5. Исправьте образ: Сделайте сервисный процесс foreground-командой в exec-form и пересоберите образ.

Важно

Не добавляйте бесконечный `sleep` как production-решение для падающего сервиса.

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

Не добавляйте бесконечный `sleep` как production-решение для падающего сервиса.

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

Фактическая часть сверена по первичным источникам (в т.ч. Dockerfile reference). Пример и формулировки — редакция N1RO на 2026-09-17.