Сегодня контейнеры у нас повсюду, а самая популярная технология для управления ними — 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]