Шпаргалка по командам Docker
При работе с Docker основные команды типа docker run
, docker 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
— удалит все сети не используемые хотя бы одним контейнером.