Docker top — утилита, позволяющая выяснить какие процессы выполняются внутри контейнера с хост машины, не подключаясь к самому контейнеру.
Главный плюс Docker top в том, что его можно использовать с любыми контейнерами. Независимо от того есть ли внутри контейнера утилиты для диагностики, такие как top. Их может не быть если сборка минималистичная.
Использование Docker top
Основные команды, которые понадобятся при использовании docker top:
docker run -it ubuntu:14.04 /bin/bash
Запускает контейнер из выбранного образа и позволяет зайти в него используя оболочку /bin/bash
CTRL + P + Q
Комбинация клавиш, которой можно выйти из контейнера не останавливая его
CTRL + P
Остановит контейнер и уничтожит все временные данные, которые существовали пока контейнер был запущен
docker attach ID
Подключиться к контейнеру выбрав его по идентификатору
docker top ID
Посмотреть запущенные процессы и информацию по контейнеру
docker ps
Покажет идентификаторы всех запущенных контейнеров
Пример использования docker top
Запуск контейнера из образа
docker run -d -ti --name=testc ubuntu:14.04 /bin/bash
Поиск идентификатора контейнера
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
acb5f4b93aa2 1_website «docker-php-entrypoi…» 4 days ago Up 4 days 0.0.0.0:5001->80/tcp 1_website_1
34b0b45ca940 nginx «nginx -g 'daemon of…» 4 days ago Up 4 days 0.0.0.0:80->80/tcp docker-nginx
Просмотр информации по выбранному контейнеру с хост машины
docker top acb5f4b93aa2
UID PID PPID C STIME TTY TIME CMD
root 22187 22166 0 Jun11 ? 00:00:12 apache2 -DFOREGROUND
www-data 22298 22187 0 Jun11 ? 00:00:00 apache2 -DFOREGROUND
www-data 22299 22187 0 Jun11 ? 00:00:00 apache2 -DFOREGROUND
www-data 22300 22187 0 Jun11 ? 00:00:00 apache2 -DFOREGROUND
www-data 22302 22187 0 Jun11 ? 00:00:00 apache2 -DFOREGROUND
www-data 22303 22187 0 Jun11 ? 00:00:00 apache2 -DFOREGROUND
www-data 22320 22187 0 Jun11 ? 00:00:00 apache2 -DFOREGROUND
root 23292 22166 0 Jun11 pts/0 00:00:00 /bin/bash
root 23617 23292 0 Jun11 pts/0 00:00:00 mcedit index.html
Как можно увидеть, на самом деле контейнер создан не только что — внутри работает веб-сервер Apache, а авторизованный пользователь, использующий оболочку /bin/bash при помощи mcedit редактирует файл.
Читайте подробнее про управление контейнерами.