协慌网

登录 贡献 社区

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

我怎样才能做到这一点?

答案

docker image tag server:latest myname/server:latest

或者

docker image tag d583c3ac45fd myname/server:latest

标签只是完整图像名称( d583c3ac45fd... )的别名。

因此,您可以根据需要使它们中的许多与同一图像相关联。如果您不喜欢旧名称,则可以在重新标记后将其删除:

docker rmi server

那只会删除alias/tag 。由于d583c3ac45fd具有其他名称,因此不会删除实际图像。

作为简写,您可以运行:

docker tag d58 myname/server:latest

其中d58代表图像 ID 的前 3 个字符,在这种情况下,这就是您所需要的。

最后,您可以删除旧图像,如下所示:

docker rmi server

最近,我不得不将某些图像从 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