Почему падают Docker контейнеры: Docker exit-коды, OOMKilled и рестарты
В этом видео разбираем, что на самом деле означают exit-коды Docker-контейнеров и как по ним быстро понять, почему упал сервис.Поговорим о том, откуда берётся код выхода в Linux и почему Docker его не придумывает, а просто прокидывает результат работы процесса. Разберём популярные коды:
• 0 — успех
• 1–2 — ошибки приложения и аргументов
• 126 — файл есть, но не исполняется
• 127 — команда не найдена
• 130 — Ctrl+C (SIGINT)
• 137 — SIGKILL, часто OOMKilled
• 139 — segfault
• 143 — SIGTERM, корректное завершение (если приложение его обрабатывает)
Покажу, как смотреть состояние контейнера через docker ps -a и docker inspect: поля State.Status, State.ExitCode, State.OOMKilled, State.Error, State.FinishedAt. Это помогает отличить ошибки приложения от проблем с образом, лимитами памяти или сигналами.
Отдельно разберём политики рестартов (no, on-failure, unless-stopped, always), как они работают в связке с exit-кодами и почему бесконечные рестарты могут прятать настоящую причину падений.
В демо-части воспроизводим разные коды выхода на простых образах (exit2, cmdnotfound, notexec, segfault), смотрим 137/143 с docker stop и docker kill, а также пример OOM с ограничением памяти.
В конце даю чек-лист отладки контейнера: с чего начинать, что смотреть, как фиксировать проблемы через healthcheck, метрики и алерты, а не угадывать по логам.
🔗 Материалы из видео (Dockerfile’ы, примеры команд и docker-compose) можно скачать из репозитория на GitHub: https://github.com/bmgeek/yt-docker-exit-codes
Стать спонсором можно легко и просто, переходите и поддержите меня - https://www.youtube.com/channel/UCFXNO8bEhII2ocwsqgaMVZg/join
------ Adv ------
💰 Расценки на рекламу и услуги - https://boosty.to/begeek/posts/e44fee24-362b-442e-b018-d635d95fe886
------ Other projects ------
💰 Merch designed by Aleksandr Krupin - https://www.etsy.com/shop/pixeltrailstudio
➡️ Приватный блог - https://boosty.to/begeek
➡️ Trail → https://www.youtube.com/@trailbykrupin
➡️ Pixels → https://www.youtube.com/@pixelsbykrupin
------ Donate ------
💰 Поддержать блогера - https://boosty.to/begeek/donate Receive SMS online on sms24.me
TubeReader video aggregator is a website that collects and organizes online videos from the YouTube source. Video aggregation is done for different purposes, and TubeReader take different approaches to achieve their purpose.
Our try to collect videos of high quality or interest for visitors to view; the collection may be made by editors or may be based on community votes.
Another method is to base the collection on those videos most viewed, either at the aggregator site or at various popular video hosting sites.
TubeReader site exists to allow users to collect their own sets of videos, for personal use as well as for browsing and viewing by others; TubeReader can develop online communities around video sharing.
Our site allow users to create a personalized video playlist, for personal use as well as for browsing and viewing by others.
@YouTubeReaderBot allows you to subscribe to Youtube channels.
By using @YouTubeReaderBot Bot you agree with YouTube Terms of Service.
Use the @YouTubeReaderBot telegram bot to be the first to be notified when new videos are released on your favorite channels.
Look for new videos or channels and share them with your friends.
You can start using our bot from this video, subscribe now to Почему падают Docker контейнеры: Docker exit-коды, OOMKilled и рестарты
What is YouTube?
YouTube is a free video sharing website that makes it easy to watch online videos. You can even create and upload your own videos to share with others. Originally created in 2005, YouTube is now one of the most popular sites on the Web, with visitors watching around 6 billion hours of video every month.