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 виводить тільки їх ідентифікатори, які передаються в команду видалення.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ