docker - docker push 失败:清单无效
问题描述
尝试对docker push <IMAGE>
私有 Docker 映像注册表执行操作时,出现错误提示清单无效
随着错误,它给出了一些[DEPRECATION NOTICE]
,这也可能是失败的原因。
注意:收到此错误并且docker push
命令失败后。(ci/cd
因为它的工作失败了,我猜它的投掷exit 1
),当我在注册表中检查时,图像是存在的。
在同一个 docker 注册表中,还存在其他图像。他们也正在经历相同的 CI/CD 管道。但对他们来说,没有检测到问题。有没有可能这个问题源于
Dockerfile
?(虽然它以前可以工作,但使用相同的 Dockerfile)
我已经仔细检查,我正在推送的图像version
(例如:)在注册表中不存在。<IMAGE_NAME>:0.0.1-5e90df92ed140-development
我还提到了有关此的多个问题和问题,并交叉检查了
- 用户有权推拉图像
- 具有相同数量的
fsLayers
清单history
注意:我们使用JFrog Artifactory 版本到 6.12.2
Docker 版本(在我的本地机器中,它也失败了。带有相同的消息):
Client: Docker Engine - Community
Version: 19.03.4
API version: 1.40
Go version: go1.12.10
Git commit: 9013bf5
Built: Thu Oct 17 23:44:48 2019
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.4
API version: 1.40 (minimum version 1.12)
Go version: go1.12.10
Git commit: 9013bf5
Built: Thu Oct 17 23:50:38 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683
错误:
596280599f68: Layer already exists
5d6cbe0dbcf9: Pushed
[DEPRECATION NOTICE] registry v2 schema1 support will be removed in an upcoming release. Please contact admins of the xxxxxxx.docker.repositories.xxxxxx.com registry NOW to avoid future disruption. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/
manifest invalid: manifest invalid
解决方案
遇到同样的问题。问题是 repo 不允许您覆盖图像标签。我将标签更改为新的主要版本。
推荐阅读
- c# - 消除异步和等待流程
- ruby-on-rails - 迁移时出错(索引名称已存在)
- ios - 单击嵌入在表格视图单元格中的集合视图单元格时继续
- python - 列表的返回函数没有显示在python的屏幕上
- c# - 数据库已被计算机上的用户“管理员”置于阻止其打开或锁定的状态
- c++ - 如何切片可变参数模板参数并使用它们?
- javascript - 从后台页面传递 XML 数据时,无法从 chrome.storage.sync.get 检索值
- linux - 如何在linux中列出以特定模式开头和结尾的文件
- r - 我在 R Markdown 中使用 kable 并在我的表格中添加标题,在输出 PDF 文件中,表格放在页面底部
- python - Pandas group来自 ewm