<p>I am trying to run a container on my Kubernetes cluster (<code>1.9.7-gke.6</code>), using a private registry (Artifactory). </p>

<pre><code>Failed to pull image "myrepo.myartifactory.mycompany.com/org/image:latest": rpc error: code = Unknown desc = Error: Status 400 trying to pull repository org/image: "{
\"errors\" :[ {
    \"status\" : 400,
    \"message\" : \"Unsupported docker v1 repository request for 'myrepo'\"\n  } ]
}"
</code></pre>

<p>I assume this means that the <code>docker</code> client tries to perform a <code>v1</code> registry request, which seems to be not supported by our Artifactory installation.</p>

<p>I checked the docker version of my cluster nodes:</p>

<pre><code>$ kubectl describe nodes | grep docker
 Container Runtime Version:  docker://17.3.2
 Container Runtime Version:  docker://17.3.2
 Container Runtime Version:  docker://17.3.2
</code></pre>

<p>I found the Docker flag <code>--disable-legacy-registry=true</code> but I am not sure how to best configure my GKE cluster this way.</p>

mitchkman
<p>The actual issue was that our credentials of the registry changed. Updating the pull credentials on our cluster fixed the issue.</p>

<p>I assume that the issue can occur under certain circumstances where the registry API returns an error such as an authentication or authorization error. If that is the case, the docker client tries to downgrade to an older API version - which is not available on Artifactory.</p>

<p>This would cause Artifactory to return the mentioned <code>Unsupported docker v1 repository request for 'myrepo'</code> error, which unfortunately masks the actual error.</p>
