Отладка Docker контейнера

Отладка запущенного контейнера

Получаем запущенные контейнеры:

docker ps

Соединяемся и запускаем баш:

docker exec -it {Container-ID} /bin/bash

Отладка образа, который не запускается

Если при выполнении docker run контейнер не запускается, то:

docker run --rm -it {image-name} sh

И затем уже отлаживаем программу.

Способ не сработает, если в Dockerfile есть «ENTRYPOINT» - ее следует временно заменить на «CMD».

Узнать команду запуска можно так:

docker inspect {Container-ID} | grep Cmd -A10
# или более продвинуто:
docker inspect {Container-ID} | jq '.[0].Config.Cmd'

Исследовать файловую систему завершившего контейнера можно так:

docker export {Container-ID} > image.tar
Печать/экспорт