Docker, как изменить имя репозитория или переименовать изображение?

Я пытаюсь изменить имя репозитория изображения:

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
server              latest              d583c3ac45fd        26 minutes ago      685.5 MB

Следовательно, я хочу изменить имя server на нечто вроде myname/server:

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
myname/server       latest              d583c3ac45fd        26 minutes ago      685.5 MB

Как я могу это сделать?

Ответ 1

docker tag server:latest myname/server:latest

или

docker tag d583c3ac45fd myname/server:latest

Тэги - это просто читаемые человеком псевдонимы для полного имени изображения (d583c3ac45fd...).

Таким образом, вы можете иметь так много из них, связанных с одним и тем же изображением. Если вам не нравится старое имя, вы можете удалить его после его повторного использования:

docker rmi server

Это просто удалит alias/tag. Поскольку d583c3ac45fd имеет другие имена, фактическое изображение не будет удалено.

Ответ 2

В качестве сокращения вы можете запустить:

docker tag d58 myname/server:latest

Где d58 представляет первые 3 символа идентификатора IMAGE, в данном случае это все, что вам нужно.

Наконец, вы можете удалить старое изображение следующим образом:

docker rmi server

Ответ 3

docker tag CURRENT_IMAGE_NAME DESIRED_IMAGE_NAME

Ответ 4

Недавно мне пришлось перенести некоторые изображения из реестра Docker (docker.mycompany.com) в Artifactory (docker.artifactory.mycompany.com)

docker pull docker.mycompany.com/something/redis:4.0.10
docker tag docker.mycompany.com/something/redis:4.0.10 docker.artifactory.mycompany.com/something/redis:4.0.10
docker push docker.artifactory.mycompany.com/something/redis:4.0.10

Ответ 5

запуск докера -it --name NEW_NAME Existing_name

Чтобы изменить имя существующего изображения.