Docker Push Error

问题 最近升级 Docker-Desktop 后,发现 push 镜像到 nexus 注册表时,报错如下: error from registry: unknown 升级到 v4.42.1 时,甚至出现镜像不能顺利上传的问题。 解决 通过查阅相关 issue , 发现是 nexus 版本太低,不支持目前主流的 OCI 镜像标准,如果想要解决,可以有两种方法解决: 1 升级 nexus 版本,从稳定版 Nexus 3.47.1 支持 OCI,升级到此版本以上即可解决。 2 通过 –provenance=false 参数解决,–provenance 标志是 docker buildx build 命令的一个选项,用于控制是否生成 provenance 凭证 。它是 –attest=type=provenance 的简写形式 。 启用 Provenance (默认行为): 在较新版本的 Buildx 中,provenance 凭证是默认启用的 。您也可以显式地使用 true 来启用它,这会以 mode=min 的模式附加凭证 为了兼容旧的镜像仓库,可以禁用。 小结 本文讲述了在使用 docker push 时遇到由于注册表版本太低导致的推送镜像失败问题,并提出了两个解决方案,对于两个方案,如果允许升级的话,最好还是更新 nexus 版本来解决,不能升级的话可以使用 –provenance=false 参数解决。 参考 https://github.com/docker/build-push-action/issues/780#issuecomment-1408361775 https://github.com/docker/buildx/issues/1653 https://central.sonatype.org/faq/what-happened-to-issues-sonatype-org/ https://github.com/docker/buildx/issues/1513#issuecomment-1401751716

六月 25, 2025 · overstarry