Docker — отличный инструмент для разработки и доставки программного обеспечения. Это позволяет вам отделить приложения от вашей инфраструктуры и доставлять их тихо и быстро и быстро.
Как удалить образы докера?
Иногда, когда мы продолжаем создавать образы Docker на нашей машине, или даже на каком-то облачном контейнере Docker, он скоро начнет выходить из места. В этом коротком посту я хотел бы поделиться, как я избавляю от ненужных изображений докера.
Первый шаг — проверить текущие изображения на вашем компьютере с помощью этой команды:
$ docker images
Вывод должен быть таким:
REPOSITORY TAG IMAGE ID mysql 5.7 b598110d0fff mysql latest ed1ffcb5eff3e81ad38baa90 redis latest dcf9ec9265e0 ruby 2.6.5-alpine 3304101ccbe9 postgres latest f9b3d2f9a593 mongo latest 58477a771fb4 rabbitmq latest 86a895bb41d6 redis 5.0.3-alpine 3d2a373f46ae
Вывод показывает нам репозиторий, это имя на Docker Hub Repository для изображения. Тег — это версия изображения и идентификатор изображения — это идентификатор, сгенерированный Docker, когда мы вытягиваем изображение для нашей машины.
Перед удалением требуемого изображения важно знать, что изображение, возможно, связано с одним или несколькими контейнерами. Чтобы проверить, какие контейнеры связаны с изображениями, используйте команду ниже:
$ docker ps -a
Выходной вывод покажет нам идентификатор контейнера в нашей машине, идентификатор изображения, который мы вытащили и команда ввода — это команда для запуска нашего приложения.
CONTAINER ID IMAGE COMMAND b8b33f28e089 ffb1b540cc8f "/bin/sh -c 'apt-get…" e2c8159a0ee6 ffb1b540cc8f "/bin/sh -c 'apt-get…" 8d0910845ea5 ec6c8a057b83 "/bin/sh -c 'apt-get…" c977dd983867 ec6c8a057b83 "/bin/sh -c 'apt-get…" 94f9fc8e6186 929b84501e14 "/bin/sh -c 'bundle …" 8d5de5c2c7a3 61f362c8bfb9 "/bin/sh -c 'bundle …" 3e3972e6aa86 15cc0f691e7b "/bin/sh -c 'bundle …" f3175c20bad5 ed8edff8b2e2 "/bin/sh -c 'bundle …" f76d4f777146 ed8edff8b2e2 "/bin/sh -c 'bundle …" 4eed76085da4 postgres "docker-entrypoint.s…" 505fc40d64c0 e81ad38baa90 "/bin/sh -c 'bundle …" 1804e73a047a redis "docker-entrypoint.s…" 3241275444f3 postgres "docker-entrypoint.s…" 154e700f0e65 postgres "docker-entrypoint.s…" 28bfc42fdac6 mongo:latest "docker-entrypoint.s…" 2e15f116cbf2 postgres "docker-entrypoint.s…" 6ca6f9bd1f1b rabbitmq:latest "docker-entrypoint.s…"
Чтобы удалить контейнер и изображение, мы будем использовать две команды:
$ docker rm$ docker rmi
Мы можем использовать -f Вариант для обоих команд, чтобы заставить удаление ресурса. Вот команды, которые я использую для удаления всех изображений и контейнеров, когда мне нужно очистить мой ноутбук.
$ docker ps -aq | xargs docker rm -f $ docker images -aq | xargs docker rmi -f
Давайте сломаемся. Docker PS это команда для отображения беговых контейнеров, опция - покажет все контейнеры (даже не работает) и -q Опция выводится только идентификатор контейнера.
Скаргс Команда — это создать и выполнить команду из стандартного ввода. В нашем случае мы передаем Скаргс ID контейнера от Docker PS -AQ Команда и идентификатор изображения от Docker Images -aq команда. Итак, Скаргс Построит точную команду, нам нужно удалить контейнеры докеров и изображения для каждого данного ID, у нас есть.
Удаление висящих изображений
Висящий имидж означает, что была создана новая сборка изображения, но не было дано имя (не вложенное изображение). Итак, старое изображение становится свисающим. Они будут отображаться как при запуске Docker Images.
Если нам нужно удалить только висных изображений, команда бессмысленных работает очень хорошо. Добавьте опцию - Также удалить неиспользуемые изображения.
$ docker images prune
Итак, надеюсь, что это может быть полезно для вас, так как для меня.
Спасибо за чтение.
Оригинал: «https://dev.to/thnery/how-to-remove-docker-images-9jh»