<p>I am attempting to pull private docker images from Docker Hub.  </p>

<pre><code>Error: image orgname/imagename:latest not found
</code></pre>

<p>The info I am seeing on the internet...</p>

<ul>
<li><a href="http://kubernetes.io/v1.0/docs/user-guide/images.html#using-a-private-registry" rel="nofollow">http://kubernetes.io/v1.0/docs/user-guide/images.html#using-a-private-registry</a></li>
<li><a href="https://github.com/kubernetes/kubernetes/issues/7954" rel="nofollow">https://github.com/kubernetes/kubernetes/issues/7954</a></li>
</ul>

<p>Leads me to believe I should be able to put something like</p>

<pre><code>{
    "https://index.docker.io/v1/": {
        "auth": "base64pw==",
        "email": "email@place.com"
    }
}
</code></pre>

<p>In the kubelet uer's $HOME/.dockercfg and kublet will then authenticate with the container registry before attempting to pull.</p>

<p>This doesn't appear to be working. Am I doing something wrong? Is this still possible?</p>

<p>I am using the vagrant provisioner located in <a href="https://github.com/kubernetes/kubernetes/tree/master/cluster" rel="nofollow">https://github.com/kubernetes/kubernetes/tree/master/cluster</a></p>

<p>Also: I am aware of the ImagePullSecrets method but am trying to figure out why this isn't working.</p>

<p>Update: </p>

<p>I moved /root/.dockercfg to /.dockercfg and it now appears to be pulling private images.</p>

<p>From: <a href="https://github.com/kubernetes/kubernetes/pull/12717/files" rel="nofollow">https://github.com/kubernetes/kubernetes/pull/12717/files</a></p>

<blockquote>
  <p>This function func ReadDockerConfigFile() (cfg DockerConfig, err error) is used to parse config which is stored in:</p>

<pre><code>GetPreferredDockercfgPath() + "/config.json"
workingDirPath + "/config.json"
$HOME/.docker/config.json
/.docker/config.json
GetPreferredDockercfgPath() + "/.dockercfg"
workingDirPath + "/.dockercfg"
$HOME/.dockercfg
/.dockercfg
</code></pre>
  
  <p>The first four one are new type of secret, and the last four one are the old type.</p>
</blockquote>

<p>This helps explain why moving the file to /.dockercfg fixed your issue, but not why there was an issue in the first place.</p>
