Question Comment supprimer une balise d'image dans Docker sans supprimer l'image elle-même?


Supposons que je veuille taguer une image Docker et créer une faute de frappe. Comment puis-je supprimer le tag sans supprimer l'image elle-même? Ni les pages de manuel ni la documentation de Docker ne mentionnent la suppression de balises.

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

91
2017-07-03 12:10


origine


Pour ceux qui veulent se dégager <none>images balisées comme foo/bar:<none>: utilisation docker images --digests et docker rmi foo/bar@<digest> comme décrit à success.docker.com/KBase/… - Janaka Bandara


Réponses:


Si votre image est marquée avec plusieurs balises, alors docker rmi enlèvera la balise, mais pas l'image.

Donc, dans votre exemple ...

# docker rmi my-imaj

... enlèvera cette balise et laissera l'image présente avec l'autre balise correcte.


130
2017-07-03 12:42



Merci. Je souhaite qu'ils mentionnent cela dans la documentation: - / - Mihai
putain ... comment puis-je supprimer l'image via le tag? :) - Alexander Mills
Si la balise que je supprime est la dernière, l'image sera supprimée. Alors je me demande quelle est la réponse à la question dans le sujet? Comment puis-je supprimer le tag et conserver l'image en cache? - kub1x
Mon scénario est une image avec une étiquette: 1) Supprimez l'étiquette de l'image, mais conservez l'image en cache, sans étiquette. 2) courir docker build avec la même étiquette, mais éventuellement différente Dockerfile. 3a) Si le Dockerfile n'a pas changé, l'image mise en cache est étiquetée avec la même étiquette. 3b) Si le Dockerfile la nouvelle image est marquée avec la balise originale et l'ancienne image sera supprimée à l'aide de docker image prune. - kub1x
Et la réponse est comme toujours utilisation --help, ne soyez pas paresseux pour lire. docker image remove --no-prune.. au cas où quelqu'un serait intéressé. - kub1x


Il suffit de courir docker rmi my-image:0e5574283393. Cela supprimera la balise.


12
2017-07-03 12:35



blog.tmtk.net/2013/09/16/how_to_remove_tag_on_docker.html. Cela peut vous fournir une aide supplémentaire - ashishjain


A partir d'un dépôt de menu fixe vide, importez une image en tapant:

#docker run hello-world

Exécuter le docker images commande pour lister les images. Le résultat devrait ressembler à ceci:

REPOSITORY        TAG           IMAGE ID          CREATED           SIZE
hello-world       latest        7bc42cc48a84      4 weeks ago       316MB

Créons maintenant une balise d'image appelée v1 en exécutant le docker tag commander:

#docker tag hello-world:latest hello-world:v1

Si nous courons le docker images commande nous verrons notre nouvelle balise comme ceci:

REPOSITORY        TAG           IMAGE ID          CREATED           SIZE
hello-world       latest        7bc42cc48a84      4 weeks ago       316MB
hello-world         v1          7bc42cc48a84      4 weeks ago       316MB

Pour supprimer une balise spécifique (pour répondre à la question d'origine), exécutez le menu fixe rmi hello-world:v1 où v1 est le nom de la balise. La sortie ressemblera à ceci:

#docker rmi hello-world:v1
Untagged: hello-world:v1

Exécuter le docker images commande pour lister les images. Notez que la balise d'image a été supprimée:

REPOSITORY        TAG           IMAGE ID          CREATED           SIZE
hello-world       latest        7bc42cc48a84      4 weeks ago       316MB

4
2018-05-12 16:01



L'approche la moins ambiguë, bien que 3 ans plus tard. +1 - bvj


Marquez une autre image avec votre nom de balise et ensuite, votre balise de votre image actuelle sera supprimée.


0
2017-10-05 15:35



Bienvenue sur ServerFault! Veuillez clarifier ou ajouter des exemples de commandes. Consultez le guide ici: serverfault.com/help/how-to-answer - Cory Knutson