5.1 Команда docker images
Если у вас в системе уже хранятся образы Docker, для управления ими есть специальные команды. В первую очередь речь идёт о docker images и docker rmi. В этой лекции мы подробно рассмотрим, как использовать эти команды для эффективного управления Docker-образами.
Команда docker images отображает список образов, сохранённых локально на вашей системе. Она показывает такие данные, как имя репозитория, тег, идентификатор образа, дата его создания и размер. Эта информация позволяет быстро оценить, какие образы доступны и сколько места они занимают.
Синтаксис:
docker images [OPTIONS] [REPOSITORY[:TAG]]
Где:
-
OPTIONS: дополнительные параметры для фильтрации и форматирования вывода. -
[REPOSITORY[:TAG]]: (необязательно) фильтр по названию репозитория и/или тегу.
Пример базового использования
Этот пример выводит список всех образов, сохранённых локально.
docker images
Пример вывода команды docker images:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 5a7e5b1a3b8c 2 days ago 133MB
ubuntu 20.04 ba6acccedd29 3 weeks ago 72.9MB
myapp 1.0 d1e5e2ff5ff2 1 month ago 89.5MB
Описание колонок:
- REPOSITORY: название репозитория, к которому относится образ.
- TAG: тег, обозначающий версию образа.
- IMAGE ID: уникальный идентификатор образа.
- CREATED: время, прошедшее с момента создания образа.
- SIZE: размер образа в памяти.
5.2 Фильтрация образов
Фильтрация образов позволяет сузить результаты команды docker images, чтобы увидеть только те образы, которые соответствуют вашим критериям. Это удобно, если у вас на системе хранится много образов, и вам нужно быстро найти конкретный образ по имени репозитория, тегу или другим параметрам.
1. Фильтр по репозиторию
docker images nginx
Этот пример выведет только образы из репозитория nginx.
2. Фильтр по тегу
docker images ubuntu:20.04
Этот пример выведет образ ubuntu с тегом 20.04.
3. Использование параметра -a (all)
По умолчанию команда docker images показывает только последние версии образов. Чтобы отобразить все образы, включая промежуточные слои, используйте опцию -a.
docker images -a
4. Форматирование вывода
Для упрощения чтения или интеграции с другими инструментами вы можете настроить формат вывода с помощью опции --format. Это особенно полезно в скриптах и при автоматизации задач.
docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}"
5.3 Команда docker rmi
Команда docker rmi используется для удаления одного или нескольких Docker-образов. Это полезно для освобождения дискового пространства и поддержания системы в порядке, особенно если образы больше не используются.
Синтаксис:
docker rmi [OPTIONS] IMAGE [IMAGE...]
Где:
- OPTIONS: дополнительные параметры для управления процессом удаления.
- IMAGE: имя, тег или идентификатор образа, который нужно удалить.
Пример базового использования
Этот пример удаляет образ с именем nginx.
docker rmi nginx
Удаление по идентификатору образа
Этот пример удаляет образ с идентификатором 5a7e5b1a3b8c.
docker rmi 5a7e5b1a3b8c
Принудительное удаление
Если образ используется контейнером или заблокирован, его стандартное удаление может быть невозможно. Для принудительного удаления примените опцию -f (force).
docker rmi -f myapp:1.0
Удаление нескольких образов
Чтобы удалить несколько образов за один раз, укажите их через пробел.
docker rmi nginx ubuntu:20.04 myapp:1.0
5.4 Практические примеры
Пример 1: Просмотр всех образов
Чтобы получить полный список всех образов, хранящихся на локальной машине, выполните команду:
docker images
Эта команда отобразит таблицу с названиями репозиториев, тегами, идентификаторами образов, датами создания и размерами.
Пример 2: Просмотр образов с форматированием вывода
Для получения списка образов с кастомным форматированием, например, чтобы вывести только имя репозитория и тег:
docker images --format "{{.Repository}}:{{.Tag}}"
Этот пример показывает, как использовать опцию --format для настройки вывода, что удобно при написании скриптов.
Пример 3: Удаление всех неиспользуемых образов
Если вы хотите удалить все образы, неиспользуемые контейнерами, сначала получите их список, а затем выполните удаление:
docker images -q
docker rmi $(docker images -q)
Команда docker images -q выводит только идентификаторы всех локально сохраненных образов, которые затем передаются в docker rmi для удаления.
Пример 4: Удаление dangling images
Dangling images — это образы без тегов, которые остаются после обновлений образов или неудачных сборок. Для их удаления используйте команду:
docker rmi $(docker images -f "dangling=true" -q)
Здесь -f "dangling=true" фильтрует образы без тегов, а -q выводит только их идентификаторы, которые передаются в команду удаления.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ