Weil Docker keine Funktion zum Umbenennen von Images bietet, hier ist wie man ein Docker-Image in drei Befehlen wirkungsvoll umbenennen kann:
docker pull UglyOldTag
docker tag UglyOldTag ShinyNewTag
docker rmi UglyOldTag
Hinweis: Man fügt hier praktisch nur ein neues Tag hinzu und entfernt das alte Tag. Wie oben erwähnt, sind Tags tatsächlich nur ein mnemonischer Alias oder ein Zeiger auf das Image-ID-Feld. Wenn das nicht verwirrend genug ist, nutzt die Docker-API und Dokumentation auch oft "Tag" um sich auf die Version zu beziehen (d.h. auf den Teil des Image-Namens, der nach dem ":" kommt, wie z.B. MyImage**:**latest).
Allerdings sind Tippfehler und falsche Namen nicht der einzige Ort, an dem man ein Tag umbenennen möchte. Zum Beispiel, wenn man Amazon ECR verwendet, muss man vor dem Hochladen des Images den vollständigen ARN als Tag zuweisen. Das bedeutet, dass die Tags groß und hässlich sind!
Hinweis: Wenn Sie sich das folgende Beispiel ansehen, ist es nützlich sich daran zu erinnern, dass Amazon und DockerHub jede Hierarchie von Docker-Images als "Repository" bezeichnen.
# Erstellen des ECR 'Repository' für das Image
aws ecr create-repository \
--repository-name myFavoriteTag \
--image-scanning-configuration scanOnPush=true \
--region myFavoriteRegion
docker tag myFavoriteTag:latest aws_account_id.dkr.ecr.aws_region.amazonaws.com/myFavoriteTag:latest
docker push aws_account_id.dkr.ecr.aws_region.amazonaws.com/myFavoriteTag:latest
Also, eine schnelle Möglichkeit, die Hässlichkeit zu bereinigen, ist
ECR_BASE==aws_account_id.dkr.ecr.aws_region.amazonaws.com
docker pull ${ECR_BASE}/myFavoriteTag
docker tag ${ECR_BASE}/myFavoriteTag myFavoriteTag
docker rmi ${ECR_BASE}/myFavoriteTag
docker run myFavoriteTag
Natürlich, um es zurück in ECR einzuchecken, müssen Sie die Hässlichkeit wieder hinzufügen
docker tag ${ECR_BASE}/myFavoriteTag:latest