gpt4 book ai didi

docker - 更新注册表中的 docker 镜像

转载 作者:行者123 更新时间:2023-12-02 11:12:41 24 4
gpt4 key购买 nike

我将我的 docker 镜像推送到我的私有(private)注册表一次,但是当我想再次推送该镜像时,我收到了这些消息:

06-Sep-2016 10:54:10    Error response from daemon: Conflict: Tag latest is already set to image 2bcc77ac3ef5f5ce0442d9cae3652c0464b8f266db9ccd65b1638aadf60ebc39, if you want to replace it, please use -f option
The push refers to a repository [localhost.com:5000/proj/proj1] (len: 1)
06-Sep-2016 10:54:10 2bcc77ac3ef5: Image already exists
06-Sep-2016 10:54:10 2bcc77ac3ef5: Image already exists
06-Sep-2016 10:54:10 4f3b96c826b8: Image already exists
06-Sep-2016 10:54:11 84c030e02a98: Image already exists
06-Sep-2016 10:54:11 c7282372eb99: Image already exists
06-Sep-2016 10:54:11 1b449d63ca4e: Image already exists

我每次都运行这些命令来更新注册表中的图像:

docker tag proj1 localhost.com:5000/proj/proj1 
docker push localhost.com:5000/proj/proj1

最佳答案

简短:升级到最新的 docker 版本(首选)或使用 -t 标记选项。

您的命令与发出以下两个命令相同:

docker tag proj1:latest localhost.com:5000/proj/proj1:latest 
docker push localhost.com:5000/proj/proj1:latest

旧版本的 Docker 会提示,因为您尝试使用现有标签 :latest 覆盖现有镜像。

快速而肮脏的解决方案是尝试使用

docker tag -f proj1 localhost.com:5000/proj/proj1 
docker push -f localhost.com:5000/proj/proj1

这将允许覆盖旧版本 Docker 上的现有镜像 localhost.com:5000/proj/proj1:latest

但是,我建议将 docker 升级到版本 >=1.12.0。在那里,-t 选项不可用,也不再需要,因为图像总是会被替换。这就是 official documentation 上没有描述 -f 选项的原因。 ,但 Docker Deprecated Engine Features page 上提到了它相反。

关于docker - 更新注册表中的 docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39352186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com