JavaRush /Курсы /Модуль 2: Fullstack /Управление образами

Управление образами

Модуль 2: Fullstack
13 уровень , 4 лекция
Открыта

5.1 Команда docker images

Если у вас в системе уже хранятся образы Docker, для управления ими есть специальные команды. В первую очередь речь идёт о docker images и docker rmi. В этой лекции мы подробно рассмотрим, как использовать эти команды для эффективного управления Docker-образами.

Команда docker images отображает список образов, сохранённых локально на вашей системе. Она показывает такие данные, как имя репозитория, тег, идентификатор образа, дата его создания и размер. Эта информация позволяет быстро оценить, какие образы доступны и сколько места они занимают.

Синтаксис:


docker images [OPTIONS] [REPOSITORY[:TAG]]

Где:

  • OPTIONS: дополнительные параметры для фильтрации и форматирования вывода.
  • [REPOSITORY[:TAG]]: (необязательно) фильтр по названию репозитория и/или тегу.

Пример базового использования

Этот пример выводит список всех образов, сохранённых локально.

Terminal


docker images 

Пример вывода команды docker images:

Terminal


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. Фильтр по репозиторию

Terminal


docker images nginx 

Этот пример выведет только образы из репозитория nginx.

2. Фильтр по тегу

Terminal


docker images ubuntu:20.04 

Этот пример выведет образ ubuntu с тегом 20.04.

3. Использование параметра -a (all)

По умолчанию команда docker images показывает только последние версии образов. Чтобы отобразить все образы, включая промежуточные слои, используйте опцию -a.

Terminal


docker images -a 

4. Форматирование вывода

Для упрощения чтения или интеграции с другими инструментами вы можете настроить формат вывода с помощью опции --format. Это особенно полезно в скриптах и при автоматизации задач.

Terminal


docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}" 

5.3 Команда docker rmi

Команда docker rmi используется для удаления одного или нескольких Docker-образов. Это полезно для освобождения дискового пространства и поддержания системы в порядке, особенно если образы больше не используются.

Синтаксис:

Terminal

docker rmi [OPTIONS] IMAGE [IMAGE...]

Где:

  • OPTIONS: дополнительные параметры для управления процессом удаления.
  • IMAGE: имя, тег или идентификатор образа, который нужно удалить.

Пример базового использования

Этот пример удаляет образ с именем nginx.

Terminal

docker rmi nginx

Удаление по идентификатору образа

Этот пример удаляет образ с идентификатором 5a7e5b1a3b8c.

Terminal

docker rmi 5a7e5b1a3b8c

Принудительное удаление

Если образ используется контейнером или заблокирован, его стандартное удаление может быть невозможно. Для принудительного удаления примените опцию -f (force).

Terminal

docker rmi -f myapp:1.0 

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

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

Terminal

docker rmi nginx ubuntu:20.04 myapp:1.0 

5.4 Практические примеры

Пример 1: Просмотр всех образов

Чтобы получить полный список всех образов, хранящихся на локальной машине, выполните команду:

Terminal

docker images

Эта команда отобразит таблицу с названиями репозиториев, тегами, идентификаторами образов, датами создания и размерами.

Пример 2: Просмотр образов с форматированием вывода

Для получения списка образов с кастомным форматированием, например, чтобы вывести только имя репозитория и тег:

Terminal

docker images --format "{{.Repository}}:{{.Tag}}"

Этот пример показывает, как использовать опцию --format для настройки вывода, что удобно при написании скриптов.

Пример 3: Удаление всех неиспользуемых образов

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

Terminal

docker images -q
docker rmi $(docker images -q)

Команда docker images -q выводит только идентификаторы всех локально сохраненных образов, которые затем передаются в docker rmi для удаления.

Пример 4: Удаление dangling images

Dangling images — это образы без тегов, которые остаются после обновлений образов или неудачных сборок. Для их удаления используйте команду:

Terminal

docker rmi $(docker images -f "dangling=true" -q) 

Здесь -f "dangling=true" фильтрует образы без тегов, а -q выводит только их идентификаторы, которые передаются в команду удаления.

3
Задача
Модуль 2: Fullstack, 13 уровень, 4 лекция
Недоступна
Просмотр всех локальных образов
Просмотр всех локальных образов
3
Задача
Модуль 2: Fullstack, 13 уровень, 4 лекция
Недоступна
Удаление конкретного образа
Удаление конкретного образа
3
Задача
Модуль 2: Fullstack, 13 уровень, 4 лекция
Недоступна
Удаление всех образов без тегов
Удаление всех образов без тегов
3
Задача
Модуль 2: Fullstack, 13 уровень, 4 лекция
Недоступна
Фильтрация образов по тегу
Фильтрация образов по тегу
1
Опрос
Знакомство с Docker Images, 13 уровень, 4 лекция
Недоступен
Знакомство с Docker Images
Знакомство с Docker Images
Комментарии (3)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Anonymous #3577564 Уровень 57
7 июня 2025
В лекции прямо указан пример: Фильтр по тегу docker images ubuntu:20.04 Если в задании нужно использовать format, то хотелось бы это: 1)Увидеть в лекции хотя бы упоминание этого 2)Сделать задание релевантным, ну отфильтровать просто по ubuntu, например, чтобы было понятно, в чём смысл. 3)Да, согласно документации: --filter "KEY=VALUE"
15 апреля 2025
судя по документации в последней задаче опечатка, между --filter и reference не должно быть знака =, возможности проверить пока нет, но думаю все же документация врать не станет
Константин Contact Уровень 20
11 апреля 2025
Откуда взялось --filter=reference= в последней задаче? и что оно даёт?