Die akzeptierte Antwort ist großartig für einzelne Umbenennungen, aber hier ist eine Möglichkeit, mehrere Bilder auf einmal umzubenennen, die denselben Repository-Namen haben (und die alten Bilder zu entfernen).
Wenn Sie alte Bilder haben, die in etwa so aussehen:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
old_name/image_name_1 latest abcdefghijk1 vor 5 Minuten 1.00GB
old_name/image_name_2 latest abcdefghijk2 vor 5 Minuten 1.00GB
Und Sie möchten:
new_name/image_name_1
new_name/image_name_2
Dann können Sie dies verwenden (ersetzen Sie OLD_REPONAME
, NEW_REPONAME
und TAG
entsprechend):
OLD_REPONAME='old_name'
NEW_REPONAME='new_name'
TAG='latest'
# extrahiere Bildnamen, z.B. "old_name/image_name_1"
for image in $(docker images | awk '{ if( FNR>1 ) { print $1 } }' | grep $OLD_REPONAME)
do \
OLD_NAME="${image}:${TAG}" && \
NEW_NAME="${NEW_REPONAME}${image:${#OLD_REPONAME}:${#image}}:${TAG}" && \
docker image tag $OLD_NAME $NEW_NAME && \
docker rmi $image:${TAG} # Diese Zeile auslassen, wenn Sie das alte Bild behalten möchten
done