Docker

Я регулярно использую Docker, но в очень ограниченном режиме. Чаще всего просто запускаю и использую готовые контейнеры. Иногда правлю чужие докер файлы и практически никогда не пишу свои. Нет задач для этого.

Наиболее частые команды, которые приходится использовать, это запуск контейнера:

docker run -d -p 80:80 –restart=always –name nginx-proxy nginx

Просмотр списка запущенных и всех контейнеров:

docker ps

docker ps -a

Просмотр образов:

docker images

Удаление образов, одного или сразу всех:

docker rmi grafana/grafana

docker rmi $(docker images -a -q)

Вход в консоль контейнера:

docker exec -it nginx-proxy bash

Просмотр логов контейнера:

docker logs nginx-proxy

docker logs –tail 100 nginx-proxy

А на днях я узнал еще некоторые команды, которые очень полезны, но я о них просто не знал и никогда не использовал. Когда их увидел и родилась идея написать заметку и сохранить все наиболее часто используемые команды в одном месте, чтобы потом не вспоминать.

Статистика потребляемых ресурсов контейнера или группы контейнеров:

docker stats grafana7

docker stats container1 container2

docker stats grafana7 –format “table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}”

Просмотр запущенных процессов в контейнере:

docker top grafana7

Вот пожалуй и всё из основного, что обычно нужно. Для полноты картины добавлю еще несколько полезных команд, которые нужны реже, но всё равно пригодятся.

Информация о контейнере:

docker inspect nginx-proxy

Выполнить команду в контейнере:

docker exec -it nginx-proxy /usr/sbin/nginx -s reload

Очистить неиспользуемые данные:

docker system prune

Проверить занимаемое докером место:

docker system df

Пожалуй это все команды, что я обычно использую. Не считая запуска, перезапуска, удаления контейнеров. Пропустил что-то важное?