Вопрос: Как удалить тег изображения в Docker без удаления самого изображения?


Предположим, я хочу пометить изображение Docker и сделать опечатку. Как удалить тег без удаления самого изображения? Ни в manpages, ни в документации Docker не упоминается удаление тегов.

docker tag 0e5574283393 my-imaj
docker tag 0e5574283393 my-image
# docker untag my-imaj # There is no "docker untag"!

82
2017-07-03 12:10


Источник


Для тех, кто хочет <none>-образные изображения, такие как foo/bar:<none>: использование docker images --digests а также docker rmi foo/bar@<digest> как описано в success.docker.com/KBase/... - Janaka Bandara


Ответы:


Если ваше изображение помечено более чем одним тегом, тогда docker rmi удалит тег, но не изображение.

Итак, в вашем примере ...

# docker rmi my-imaj

... удалит этот тег и оставит изображение с другим правильным тегом.


120
2017-07-03 12:42



Благодарю. Хотелось бы, чтобы они упомянули об этом в документации: - / - Mihai
damdamnit ... как удалить изображение с помощью тега? :) - Alexander Mills
Если тег, который я удаляю, является последним, изображение будет удалено. Так что я задаюсь вопросом, что ответ на вопрос в теме? Как удалить тег и сохранить кеширование изображения? - kub1x
Мой сценарий - это одно изображение с тегом: 1) Удалите тег из изображения, но сохраните изображение в кеше, без тегов. 2) Запуск docker build с тем же тегом, но, возможно, Dockerfile, 3a) Если Dockerfile не изменилось, кэшированное изображение помечено тегом с тем же тегом. 3b) Если Dockerfile изменилось, новое изображение помечено исходным тегом, и старое изображение будет удалено с помощью docker image prune, - kub1x
И ответ, как всегда использование --help, не ленитесь читать. docker image remove --no-prune.. в случае, если кто-то заинтересован. - kub1x


Просто беги docker rmi my-image:0e5574283393, Это приведет к удалению тега.


12
2017-07-03 12:35



blog.tmtk.net/2013/09/16/how_to_remove_tag_on_docker.html, Это может обеспечить вам дальнейшую помощь - ashishjain


Начиная с пустого репозитория докеров, импортируйте изображение, набрав:

#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

1
2018-05-12 16:01



Наименее двусмысленный подход, хотя и через 3 года. +1 - bvj


Пометьте другое изображение с вашим именем тега, после чего тэг с вашего текущего изображения будет удален.


0
2017-10-05 15:35



Добро пожаловать в ServerFault! Просьба уточнить или добавить некоторые шаги примера команды. Ознакомьтесь с руководством здесь: serverfault.com/help/how-to-answer - Cory Knutson