Как удалить образы 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 (verbose):

$ 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 system prune -a

Опция -a включает неиспользуемые и «повисшие» контейнеры. Если не указать эту опцию, будут удалены только «повисшие» образы, т. е. образы без тегов, не связанные ни с какими другими образами.

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

$ docker system prune

Это все, что нужно для быстрой очистки дискового пространства. Кроме того, компоненты можно удалять по отдельности.

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

Удалить неиспользуемые и «повисшие» образы

$ docker image prune

Удалить только «повисшие» образы

$ docker image prune -a

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

$ docker container prune

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

$ docker volume prune

Как поддерживать эффективное использование дискового пространства

Вы можете запускать какие-то команды ежедневно или при входе в систему. Чтобы при автоматическом запуске пропустить обычное предложение, добавьте опцию -f к команде, которую хотите запускать.

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

Итоги

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

Перевод статьи «How to Remove All Docker Images – A Docker Cleanup Guide».

[customscript]techrocks_custom_after_post_html[/customscript]

[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх