Шпаргалка по командам Docker

При работе с Docker основные команды типа docker rundocker build и т.п. запомнить легко, но дополнительные команды у меня например постоянно вылетают из головы. Особенно когда работаешь с ними не очень часто.

Ниже небольшая шпаргалка по командам Докера, которые могут понадобится для работы с ним. Постепенно буду добавлять дополнять эту страницу.

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

Для выполнения команды в запущенном контейнере, используется команда docker exec с указанием ИД или названия контейнера и самой команды:

docker exec -it <container> <command>

Например, получим список всех запущенных контейнеров

docker ps

И запустим bash в контейнере php:

docker exec -it php bash

Удаление старых данных

Постепенно при работе с Docker накапливается большое количество не актуальных объектов (образов, контейнеров) и основной каталог Докера начинает занимать много места на диске. Для очистки этих данных, есть следующие команды:

Удаление образов (images)

Чтобы посмотреть список образов используйте команды:

docker images -a — выведет все образы

docker images -f dangling=true — выведет все неиспользуемые образы

Для удаления используется команда docker rmi с добавлением ИД или тега, например:

docker rmi abb461727af5

docker rmi $(docker images -a -q) — используется для удаления всех образов

docker images prune — удаление всех неиспользуемых образов

Удаление всех неиспользуемых (не связанных с контейнерами) образов:

docker system prune

Если добавить к команде ключ a, то произойдет удаление всех остановленных контейнеров и неиспользуемых образов.

Удаление контейнеров (containers)

Чтобы посмотреть список контейнеров используйте команду:

docker ps — выведет список запущенных контейнеров, если добавить ключ -a, выведет список всех контейнеров.

Для удаления контейнера, его необходимо сначала остановить командой docker stop с указанием ID или названия контейнера.

Для удаления контейнера используется команда docker rm с добавлением ИД или названия, например:

docker rm abb4ll727af5

Удаление томов (volumes)

docker volume ls — вывести список всех томов с их названиями.

docker rm <volume_name> — удаление volumes по названию

docker volume ls -f dangling=true — вывести список всех томов не связанных с контейнерами

docker volume prune — удаление томов (volumes) несвязанных с контейнерами

Удаление сетей (networks)

Командой docker network ls можно вывести список всех сетей с их ИД и названиями. Для удаления используется команда docker network rm с добавлением ИД или названия, например:

docker network rm 3bba8a24306f

docker network prune — удалит все сети не используемые хотя бы одним контейнером.

Хостинг для ваших проектов