Issue
-
I am unable to pull a docker image from an Artifactory Docker Repository
-
Unsupported docker v1 repository request for '<repo>'
Environment
-
CloudBees CI (CloudBees Core) on modern cloud platforms - Managed controller
-
CloudBees CI (CloudBees Core) on traditional platforms - Client controller
-
CloudBees Jenkins Enterprise
-
CloudBees Jenkins Enterprise - Managed controller
-
Artifactory
-
Docker
Resolution
The error message Unsupported docker v1 repository request for '<repo>'
is produced by Artifactory’s Docker support when using the Docker Registry API v1 which is no longer supported. It is most likely because you are running an older version of Docker that tries to pull from v1 registries (or fallback using this version) even though it not supported.
-
Check the version of your docker client using
docker version
anddocker info
-
Sometimes, an hidden mirror registry may be configured. If this mirror is using v1 API, it can be the cause. You can view this by checking the value of the flag --registry-mirror using
docker run --rm --pid=host alpine ps aux | grep dockerd
-
Ensure your configuration comply with the compatibility matrix of Artifactory Docker repositories
The V1 registry have actually been deprecated since Docker 1.9 (see Deprecated Engine Features). Pull
, push
and login
operations against V1 registries are now prevented by default. This can be controlled via the flag --disable-legacy-registry
which is false by default.
-
Hence we recommend to update Docker to version 1.9 at least.