'artifactory' 不受支持的 docker v2 存储库请求是什么意思
What Unsupported docker v2 repository request for 'artifactory' means
我的dockerclient/server版本是:
$ docker version
Client:
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:49:01 2018
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.0
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:16:44 2018
OS/Arch: linux/amd64
Experimental: false
想使用 artifactory 来托管 dockers。
当运行
docker login
得到:
Unsupported docker v2 repository request for 'artifactory'
这个错误是什么意思?
Artifactory 抱怨 V2 的哪个部分?
很可能 v2
对应 Docker Registry API v2 (link).
这是当前 Docker 引擎客户端的默认 API(版本)。
我怀疑 (!) 您的 Artifactory Registry 使用的是较旧的 v1 API 版本,并且对您的 docker 客户端使用 v2 的尝试犹豫不决。
您应该能够配置 Artifactory 以使用 Docker Registry API v2.
我不熟悉 Artifactory,无法提供有关如何进行此更改的指导,但我相信这是您的问题。
确保您在反向代理中进行了以下重写。
Nginx
rewrite ^/(v1|v2)/(.*) /api/docker/$repo//;
阿帕奇
RewriteCond "%{REQUEST_URI}" "^/(v1|v2)/"
此要求目前是 missing from the jfrog documentation,但是如果您进入 HTTP 设置并让 artifactory 为您生成代理配置,则会记录在案。
除了反向代理错误之外,当您尝试将图像推送到不存在的存储库时也会出现此消息。
在 Artifactory 中寻找 HTTP 404 request.log
我要补充:至少在版本 7.5.7 中,Docker 存储库设置中有一个检查为“阻止推送图像清单 v2 模式 1”,在我的情况下取消选中它解决了问题。
我的dockerclient/server版本是:
$ docker version
Client:
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:49:01 2018
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.0
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:16:44 2018
OS/Arch: linux/amd64
Experimental: false
想使用 artifactory 来托管 dockers。 当运行
docker login
得到:
Unsupported docker v2 repository request for 'artifactory'
这个错误是什么意思?
Artifactory 抱怨 V2 的哪个部分?
很可能 v2
对应 Docker Registry API v2 (link).
这是当前 Docker 引擎客户端的默认 API(版本)。
我怀疑 (!) 您的 Artifactory Registry 使用的是较旧的 v1 API 版本,并且对您的 docker 客户端使用 v2 的尝试犹豫不决。
您应该能够配置 Artifactory 以使用 Docker Registry API v2.
我不熟悉 Artifactory,无法提供有关如何进行此更改的指导,但我相信这是您的问题。
确保您在反向代理中进行了以下重写。
Nginx
rewrite ^/(v1|v2)/(.*) /api/docker/$repo//;
阿帕奇
RewriteCond "%{REQUEST_URI}" "^/(v1|v2)/"
此要求目前是 missing from the jfrog documentation,但是如果您进入 HTTP 设置并让 artifactory 为您生成代理配置,则会记录在案。
除了反向代理错误之外,当您尝试将图像推送到不存在的存储库时也会出现此消息。
在 Artifactory 中寻找 HTTP 404 request.log
我要补充:至少在版本 7.5.7 中,Docker 存储库设置中有一个检查为“阻止推送图像清单 v2 模式 1”,在我的情况下取消选中它解决了问题。