Допустим, я хочу пометить образ Docker и сделать опечатку. Как удалить тег, не удаляя само изображение? Ни на страницах руководства, ни в документации Docker не упоминается удаление тегов.
docker tag 0e5574283393 my-imaj
docker tag 0e5574283393 my-image
# docker untag my-imaj # There is no "docker untag"!
Если ваше изображение помечено более чем одним тегом, тогда docker rmi
удалит тег, но не изображение.
Итак, в вашем примере ...
# docker rmi my-imaj
... удалит этот тег и оставит изображение с другим правильным тегом.
Бегать docker rmi REPOSITORY:TAG
удалить тег.
В REPOSITORY
и TAG
ценности исходят из docker images
вывод.
Например
$ docker rmi my-image:0e5574283393
Untagged: my-image:0e5574283393
Начиная с пустого репозитория докеров, импортируйте изображение, набрав:
#docker run hello-world
Запустить docker images
команда для вывода списка изображений. Результат должен выглядеть так:
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 7bc42cc48a84 4 weeks ago 316MB
Теперь давайте создадим тег изображения с именем v1 запустив docker tag
команда:
#docker tag hello-world:latest hello-world:v1
Если мы запустим docker images
мы увидим наш новый тег следующим образом:
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 7bc42cc48a84 4 weeks ago 316MB
hello-world v1 7bc42cc48a84 4 weeks ago 316MB
Чтобы удалить определенный тег (чтобы ответить на исходный вопрос), запустите docker rmi hello-world:v1
где v1 это имя тега. Результат будет выглядеть так:
#docker rmi hello-world:v1
Untagged: hello-world:v1
Запустить docker images
команда для вывода списка изображений. Обратите внимание, что тег изображения был удален:
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 7bc42cc48a84 4 weeks ago 316MB
Отметьте другое изображение своим именем тега, и впоследствии ваш тег из текущего изображения будет удален.