Как использовать команду docker manifest rm для удаления списков манифестов

DockerDockerBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь управлять списками манифестов Docker, которые являются важной частью создания многоархитектурных образов. Мы рассмотрим процесс создания списка манифестов путем объединения образов для разных платформ, проверки его существования с помощью команды docker manifest inspect и, наконец, продемонстрируем, как удалить список манифестов с использованием команды docker manifest rm. Эта практическая работа предоставит вам опыт работы со списками манифестов в рамках вашего рабочего процесса с Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/rmi("Remove Image") subgraph Lab Skills docker/rm -.-> lab-555172{{"Как использовать команду docker manifest rm для удаления списков манифестов"}} docker/inspect -.-> lab-555172{{"Как использовать команду docker manifest rm для удаления списков манифестов"}} docker/pull -.-> lab-555172{{"Как использовать команду docker manifest rm для удаления списков манифестов"}} docker/rmi -.-> lab-555172{{"Как использовать команду docker manifest rm для удаления списков манифестов"}} end

Создание списка манифестов

На этом этапе мы научимся создавать список манифестов в Docker. Список манифестов представляет собой список манифестов образов, который позволяет использовать одно имя образа для обращения к образам для разных архитектур и операционных систем. Это особенно полезно при создании многоархитектурных образов.

Сначала давайте загрузим два разных образа, которые мы будем использовать для создания нашего списка манифестов. Мы будем использовать образ alpine для архитектур amd64 и arm64.

docker pull alpine:latest
docker pull --platform arm64 alpine:latest

Первая команда загружает образ alpine:latest для вашей текущей архитектуры (скорее всего, amd64). Вторая команда явно загружает образ alpine:latest для архитектуры arm64.

Теперь мы можем создать список манифестов с помощью команды docker manifest create. Синтаксис команды: docker manifest create TARGET_IMAGE SOURCE_IMAGE [SOURCE_IMAGE...]. Мы создадим список манифестов с именем my-alpine:latest, который будет включать образы alpine:latest для архитектур amd64 и arm64.

docker manifest create my-alpine:latest alpine:latest alpine:latest --amend alpine:latest --platform arm64

В этой команде:

  • my-alpine:latest - имя нового списка манифестов, который мы создаем.
  • alpine:latest - первый исходный образ (для архитектуры по умолчанию).
  • --amend alpine:latest --platform arm64 добавляет образ alpine:latest для платформы arm64 в список манифестов.

После выполнения этой команды вы создали список манифестов локально. Однако он еще не отправлен в реестр. Мы отправим его на следующем этапе.

Проверка существования списка манифестов

На предыдущем этапе мы создали список манифестов с именем my-alpine:latest. Теперь мы проверим, что этот список манифестов был успешно создан и существует локально.

Мы можем использовать команду docker manifest inspect для просмотра деталей списка манифестов. Эта команда выведет содержимое списка манифестов в формате JSON, если он существует.

docker manifest inspect my-alpine:latest

Если список манифестов my-alpine:latest был успешно создан, вы увидите выходные данные в формате JSON, описывающие список манифестов, включая разные образы, на которые он ссылается для различных архитектур. Если список манифестов не существует, команда вернет ошибку.

В выходных данных будут показаны сведения о списке манифестов, такие как версия схемы, тип медиа и список манифестов для каждой включенной архитектуры. Вы должны увидеть записи как для архитектуры amd64, так и для arm64, подтверждающие, что список манифестов был создан правильно с ссылками на образы для этих платформ.

Удаление списка манифестов

На предыдущих этапах мы создали и проверили существование списка манифестов с именем my-alpine:latest. Теперь мы научимся удалять этот список манифестов.

Для удаления списка манифестов мы используем команду docker manifest rm, за которой следует имя списка манифестов.

docker manifest rm my-alpine:latest

Эта команда удалит локальную ссылку на список манифестов my-alpine:latest. Обратите внимание, что эта команда удаляет только сам список манифестов, а не отдельные образы, на которые ссылается список манифестов. Образы alpine:latest для архитектур amd64 и arm64, которые мы загрузили ранее, по-прежнему останутся на вашей системе.

После выполнения команды вы должны увидеть выходные данные, указывающие, что список манифестов был удален из тегов.

Проверка удаления списка манифестов

На предыдущем этапе мы удалили список манифестов с именем my-alpine:latest. Теперь мы проверим, что список манифестов был успешно удален и больше не существует локально.

Мы можем попытаться снова проверить список манифестов с помощью команды docker manifest inspect. Если список манифестов был успешно удален, эта команда должна вернуть ошибку, указывающую, что список манифестов не найден.

docker manifest inspect my-alpine:latest

При запуске этой команды после удаления списка манифестов вы должны увидеть сообщение об ошибке, похожее на no such manifest: docker.io/library/my-alpine:latest. Это подтверждает, что список манифестов был удален из вашей локальной среды Docker.

Резюме

В этом практическом занятии (лабораторной работе) мы научились создавать и управлять списками манифестов Docker. Мы начали с загрузки образов для различных архитектур, а затем использовали команду docker manifest create, чтобы объединить их в один список манифестов, показав, как создавать многоархитектурные образы.

После создания мы проверили существование списка манифестов с помощью команды docker manifest inspect. Наконец, мы научились удалять список манифестов с помощью команды docker manifest rm и подтвердили его удаление, охватив основное управление жизненным циклом списков манифестов в Docker.