My docker client/server version is:
$ 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
Would like to use artifactory to host dockers. When running
docker login
getting:
Unsupported docker v2 repository request for 'artifactory'
What does this error mean?
What V2 part is artifactory complaining on?
Ensure you have the following rewrite in your reverse proxy.
Nginx
rewrite ^/(v1|v2)/(.*) /api/docker/$repo/$1/$2;
Apache
RewriteCond "%{REQUEST_URI}" "^/(v1|v2)/"
This requirement is currently missing from the jfrog documentation , however it is documented if you go into HTTP settings and let artifactory generate the proxy config for you.
It is probable that v2
corresponds to Docker Registry API v2 ( link ).
This is the default API (version) for current Docker Engine clients.
I suspect (!) that your Artifactory Registry is using the older v1 API version and is balking at your docker client's attempt to use v2 with it.
You ought be able to configure Artifactory to use Docker Registry API v2.
I'm unfamiliar with Artifactory and can provide no guidance for how to make this change but I'm confident it's your issue.
In addition to the error with reverse proxy, this message also appears when you try to push an image into a non-existent repository.
Look for HTTP 404 in Artifactory request.log
我要补充一点:至少在 7.5.7 版本中,Docker 存储库设置中有一个检查“阻止推送图像清单 v2 模式 1”,在我的情况下,取消选中它解决了问题。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.