首页 > 解决方案 > 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

我还提到了有关此的多个问题和问题,并交叉检查了

注意:我们使用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

标签: dockerdockerfiledocker-registry

解决方案


遇到同样的问题。问题是 repo 不允许您覆盖图像标签。我将标签更改为新的主要版本。


推荐阅读