Docker контейнер падает сразу после запуска как найти причину

Рейтинг: 82.5% · 128 голосов
Docker, Kubernetes, Helm, Terraform, Ansible, GitLab CI, GitHub Actions: автоматизация деплоя, инфраструктура как код, мониторинг и observability.
Аватара пользователя
asyncmonk
Сообщения: 62
Зарегистрирован: 13 май 2026, 16:00

Docker контейнер падает сразу после запуска как найти причину

Сообщение asyncmonk »

Запускаю контейнер командой docker run, он стартует и тут же падает с кодом выхода 1. Никакого вывода нет, или вывод обрывается моментально. docker logs показывает либо пусто, либо пару строк без явной ошибки. Образ собирается без проблем, локально приложение работает. Что вообще смотреть в первую очередь?
👍 ❤️2 🔥1 😄2 🤔
✔ Лучший ответ выбран автором и совпадает с автоматическим подбором — juniorredteam
Развёрнутое решение: диагностика падающего контейнера по шагам. Шаг 1 — docker logs сразу после запуска, флаг -f чтобы стримить. Шаг 2 — смотри код выхода через docker inspect --format='{{.State.ExitCode}}'. Код 1 — общая ошибка приложения, код 126 — нет прав на исполнение, код 127 — бинарь не найден, код 137 — убит по OOM. Шаг 3 — docker events в отдельном терминале, пока запускаешь…
Перейти к ответу →
Аватара пользователя
katykat
Сообщения: 7
Зарегистрирован: 13 май 2026, 22:27

Re: Docker контейнер падает сразу после запуска как найти причину

Сообщение katykat »

Первым делом запусти docker run --rm -it <image> /bin/sh или /bin/bash — войдёшь внутрь и посмотришь, что происходит вручную. Часто причина в том, что ENTRYPOINT скрипт завершается с ненулевым кодом из-за отсутствующей переменной окружения. Провери все обязательные ENV прямо в шелле.
👍 ❤️ 🔥 😄1 🤔
Аватара пользователя
kickmybox
Сообщения: 60
Зарегистрирован: 11 май 2026, 08:23

Re: Docker контейнер падает сразу после запуска как найти причину

Сообщение kickmybox »

У меня была точно такая же история. Оказалось, что в образе был задан USER без нужных прав на директорию, куда приложение пыталось писать логи. Добавил в Dockerfile строку RUN chown -R appuser:appuser /app/logs — и всё поднялось. docker inspect <container_id> покажет с каким пользователем запущен контейнер.
👍1 ❤️3 🔥2 😄2 🤔1
Аватара пользователя
sleepypanic
Сообщения: 71
Зарегистрирован: 11 май 2026, 01:26

Re: Docker контейнер падает сразу после запуска как найти причину

Сообщение sleepypanic »

Советую всегда смотреть docker logs --details <container_id> и ещё journalctl если Docker под systemd. Также попробуй docker run --entrypoint='' <image> sleep 3600 — это переопределит entrypoint и контейнер останется живым, можно будет docker exec зайти и спокойно разобраться.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
juniorredteam
Сообщения: 66
Зарегистрирован: 11 май 2026, 07:16

Re: Docker контейнер падает сразу после запуска как найти причину

Сообщение juniorredteam »

✔ Лучший ответ — выбран автором и совпадает с авто-подбором
Развёрнутое решение: диагностика падающего контейнера по шагам. Шаг 1 — docker logs <id> сразу после запуска, флаг -f чтобы стримить. Шаг 2 — смотри код выхода через docker inspect <id> --format='{{.State.ExitCode}}'. Код 1 — общая ошибка приложения, код 126 — нет прав на исполнение, код 127 — бинарь не найден, код 137 — убит по OOM. Шаг 3 — docker events в отдельном терминале, пока запускаешь контейнер, покажет системные события. Шаг 4 — если образ на Alpine, то многие bash-скрипты падают потому что нет bash, только sh; поменяй shebang на #!/bin/sh. Шаг 5 — проверь ulimits и доступную память: docker run --memory=512m может убить контейнер если приложению не хватает. Чаще всего проблема в одном из трёх: неверные переменные окружения, права на файлы, отсутствующий бинарь в PATH.
👍2 ❤️1 🔥 😄1 🤔1
Аватара пользователя
svelte88
Сообщения: 63
Зарегистрирован: 12 май 2026, 11:49

Re: Docker контейнер падает сразу после запуска как найти причину

Сообщение svelte88 »

Ещё момент — если используешь docker-compose, то restart: always маскирует проблему, контейнер крутится в петле рестартов и кажется что работает. Поставь restart: 'no' на время отладки и смотри логи.
👍5 ❤️ 🔥 😄 🤔1
Аватара пользователя
sleepypanic
Сообщения: 71
Зарегистрирован: 11 май 2026, 01:26

Re: Docker контейнер падает сразу после запуска как найти причину

Сообщение sleepypanic »

Кстати, docker run --log-driver=journald или просто --log-driver=json-file с --log-opt max-size=10m стоит настроить в продакшене, иначе логи либо теряются либо съедают диск. Но это уже отдельная тема.
👍1 ❤️2 🔥1 😄1 🤔1
Аватара пользователя
mynancy
Сообщения: 24
Зарегистрирован: 19 май 2026, 07:17

Re: Docker контейнер падает сразу после запуска как найти причину

Сообщение mynancy »

Еще частая причина, которую тут не назвали: бинарь собран под glibc, а образ alpine. Падает мгновенно, в логах либо пусто, либо невнятное no such file or directory, хотя файл на месте лежит. Проверяется через ldd на бинарь внутри контейнера или тупо пересборкой с CGO_ENABLED=0, если это go. У меня джун неделю с этим воевал, пока я не глянул FROM в его Dockerfile.
👍 ❤️2 🔥 😄2 🤔
Аватара пользователя
kingpaul
Сообщения: 57
Зарегистрирован: 11 май 2026, 12:35

Re: Docker контейнер падает сразу после запуска как найти причину

Сообщение kingpaul »

@katykat, docker run -it image /bin/sh переопределяет только CMD. Если в образе задан ENTRYPOINT, твой sh уедет в него аргументом и ничего не получится. Надо -entrypoint /bin/sh, иначе человек попробует твой вариант и решит, что совет нерабочий.
👍1 ❤️ 🔥1 😄 🤔1
Аватара пользователя
rn2l3x4zop
Сообщения: 4
Зарегистрирован: 13 май 2026, 19:44

Re: Docker контейнер падает сразу после запуска как найти причину

Сообщение rn2l3x4zop »

@juniorredteam, простыня неплохая, но 139 забыл, это segfault. И 143 это SIGTERM от оркестратора, не ошибка приложения, тоже полезно знать. По формату подозрительно похоже на копипасту из чатгпт, ну да ладно, коды хотя бы верные.
👍3 ❤️ 🔥1 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK
Похожие запросы: docker compose как пользоватьсякак написать dockerfileкак уменьшить размер docker образачто такое docker hub и как им пользоватьсякак собрать docker образ из dockerfiledocker compose up как запустить контейнеры

Вернуться в «DevOps и CI/CD»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость