👁 В проде часто нельзя просто взять и пересобрать контейнер, чтобы добавить curl, htop или другие утилиты для дебага. Особенно если образ минимальный (distroless, alpine). В таких случаях можно подключить sidecar-контейнер и «подсмотреть» всё, что происходит внутри основного.
📝 Подключение к namespace контейнера через --pid и --network
Можно запустить отдельный контейнер, который будет использовать те же namespace, что и целевой контейнер. Теперь ты внутри отдельного контейнера, но видишь процессы, сеть и IPC целевого контейнера как свои.
docker run -it --rm \ --pid=container:my_app \ --network=container:my_app \ --ipc=container:my_app \ nicolaka/netshoot
📝 Анализ процессов и сети без вмешательства в основной контейнер
После подключения можно использовать любые утилиты, даже если их нет в основном образе. Это позволяет найти утечки, зависшие соединения или странные процессы, не трогая основной контейнер.
ps aux ss -tulnp lsof -i
📝 Дебаг файловой системы через монтирование volumes
Если нужно посмотреть файлы, можно дополнительно подключить те же volume’ы. Так ты получаешь доступ к данным контейнера и можешь анализировать логи, кеши или временные файлы.
docker run -it --rm \ --volumes-from my_app \ alpine sh
❗️ Такой подход — это уровень «не трогай прод, но разберись». Sidecar-дебаг позволяет анализировать контейнеры без пересборки, без рестарта и без риска сломать рабочий сервис.
tags: #docker #полезно



