img

Руководство по очистке Docker

 

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

К сожалению, она может занимать довольно много места на диске, и в конечном счете диск может просто переполниться.

Совсем неважно, где вы используете Docker – на своем устройстве или на сервере, это руководство научит вас анализировать дисковое пространство, которые вы используете, и очищать Docker от ненужных ресурсов. 

Все, что вам понадобиться, - это запущенный демон Docker и терминал.

Как проанализировать, сколько места занимает Docker

Вы можете просмотреть, сколько места занимает Docker, запустив следующую команду:

$ docker system df

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          61        16        21.1GB    15.25GB (72%)
Containers      69        0         12.26MB   12.26MB (100%)
Local Volumes   3         2         539.1MB   50.04MB (9%)
Build Cache     76        0         1.242GB   1.242GB

А добавив флаг -v, вы можете получить более подробную информацию:

$ docker system df -v

REPOSITORY        TAG   IMAGE ID     CREATED       SIZE      SHARED 
teamatldocker/jira    e50b8390945c   4 weeks ago     842.3MB   0B       
vw                    ed9e125a8925   2 months ago    1.659GB   134.8MB 

Containers space usage:

CONTAINER ID   IMAGE                    COMMAND                   SIZE 
94e03a4a17d0   teamatldocker/jira       "/sbin/tini -- /usr/…"    1.4MB 

Local Volumes space usage:

VOLUME NAME                     LINKS     SIZE
play-with-jira_postgresqldata   1         84.19MB   
play-with-jira_jiradata         1         404.8MB

Build cache usage: 1.242GB

CACHE ID       CACHE TYPE     SIZE      CREATED        LAST USED 
oxil5sdicb91   regular        135MB     2 months ago   2 months ago  
kxz13fmdbodg   regular        13B       2 months ago   2 months ago 
nysus21ej7pf   regular        0B        2 months ago   2 months ago

Как вы можете видеть, вы получили информацию о том:

  • Сколько места занимают образы
  • Сколько места занимают контейнеры
  • Сколько места занимают локальные тома
  • Сколько места занимает кэш сборки

Как очистить Docker

Вы можете очистить Docker полностью или только какие-то определенные его ресурсы, например, образы, тома контейнеров или кэш сборки.

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

$ docker system prune -a

Флаг -a обозначает неиспользуемые или висячие контейнеры. Если вы не укажите флаг -a, то команда удалит только висячие образы, то есть нетегированные образы, которые никак не связаны с другими образами.

Если вы хотите удалить большую часть ресурсов Docker, но при этом оставить тегированные образы, то вам нужна вот эта команда:

$ docker system prune

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

Вот несколько полезных команд:

Удаление неиспользуемых и висячих образов

$ docker image prune

Удаление только висячих образов

$ docker image prune -a

Удаление остановленных контейнеров

$ docker container prune

Удаление неиспользуемых томов

$ docker volume prune

Как управлять пространством, которое использует Docker, на постоянной основе

Какие-то команды вы можете запускать на ежедневной основе или при запуске платформы. А для того, чтобы не забывать об этом, вы можете добавить флаг -f к команде, которую хотите запускать автоматически.

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

Если у вас нет проблем с нехваткой дискового пространства, можете быть спокойны. Просто делайте «уборку» всякий раз, как заметите, что Docker начинает использовать слишком много памяти.

Заключение

На сегодняшний день существует огромное количество способов освобождения дискового пространства Docker с помощью docker-команд. Вы даже можете выполнять эти команды в автоматическом режиме, если хотите периодически очищать ресурсы Docker.

Ссылка
скопирована
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Git Flow - это специальная система ветвления для Git. Она помогает команде лучше контролировать и добавлять различные версии про
img
Docker — популярная платформа виртуализации на уровне ОС. Она поставляет приложения в пакетах (контейнерах), которые, представля
img
Хуки в Git — это bash-скрипты, которые запускаются до или после команд Git, например, коммитов и пушей. Они позволяют автоматизи
img
  Nomad и Kubernetes – это две самые популярные платформы оркестровки, предназначенные для оркестровки динамических рабочих нагр
img
  Давайте узнаем о новом Ops-течении – GitOps! DevOps поспособствовал цифровизации многих компаний. Речь идет о командах разрабо
img
  Канареечное (canary) развёртывание – это метод разработки и развертывания программного обеспечения, который позволяет выпускат
Комментарии
ОСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59