<p>I have been reading a lot of posts about this but according to them I should have my bases covered so I am not sure what is going on.</p>
<p>I am using Minikube, Docker, Helm, and a local Docker registry on a Mac.  After I install with Helm I see the following error.</p>
<pre><code>Failed to pull image &quot;127.0.0.1:5000/hello-world:v1.0&quot;: rpc error: code = Unknown desc = Error response from daemon: manifest for 127.0.0.1:5000/hello-world:v1.0 not found: manifest unknown: manifest unknown
</code></pre>
<p>My deployment spec looks like this.</p>
<pre><code>spec:
    containers:
      - name: hello-world
        image: 127.0.0.1:5000/hello-world:v1.0
        imagePullPolicy: IfNotPresent
        ports:
          - name: http
            containerPort: 5000
            protocol: TCP
</code></pre>
<p>I get this if I try to pull the image.</p>
<pre><code>$docker pull 127.0.0.1:5000/hello-world:v1.0

v1.0: Pulling from hello-world
Digest: sha256:0534fcc8d406574f7def33e726f0e476ce94866e21d8cbd6ed4c273de113e9d3
Status: Image is up to date for 127.0.0.1:5000/hello-world:v1.0
127.0.0.1:5000/hello-world:v1.0
</code></pre>
<p>Then I check the manifest and it exists.</p>
<pre><code>$curl -X GET 127.0.0.1:5000/v2/hello-world/manifests/sha256:0534fcc8d406574f7def33e726f0e476ce94866e21d8cbd6ed4c273de113e9d3

{
   &quot;schemaVersion&quot;: 2,
   &quot;mediaType&quot;: &quot;application/vnd.docker.distribution.manifest.v2+json&quot;,
   &quot;config&quot;: {
      &quot;mediaType&quot;: &quot;application/vnd.docker.container.image.v1+json&quot;,
      &quot;size&quot;: 8102,
      &quot;digest&quot;: &quot;sha256:49188cd9fa7002b28391f01ba5c0ce4328cc467abeb6743d181cbe1a3a2fd37c&quot;
   },
   ...
}
</code></pre>
<p>Any help will be greatly appreciated</p>
<p><strong>Edit:</strong></p>
<p>The exact commands I executed are as follows</p>
<ul>
<li>docker run -d -p 5000:5000 --restart=always --name registry registry:2</li>
<li>docker build . -t hello-world:v1.0</li>
<li>docker tag hello-world:v1.0 127.0.0.1:5000/hello-world:v1.0</li>
<li>docker push 127.0.0.1:5000/hello-world:v1.0</li>
<li>helm install hello-world ./hello-world</li>
</ul>
<p><strong>Edit With Resolution:</strong></p>
<p>I finally got it to work.  I had to modify the image key in the podspec of the pod/deployment manifest to <code>host.minikube.internal:5000/hello-world:v1.0</code> as suggested in the thread with @zsolt.  Secondly I had to start minikube with <code>--insecure-registry=&quot;host.minikube.internal:5000&quot;</code> instead of <code>--insecure-registry=&quot;127.0.0.1:5000&quot;</code> while executing <code>minikube delete</code> before this change.  Thanks for the assistance @zsolt!</p>

chutcher
<p>You can enable registry addon in minikube:</p>
<p><code>minikube addons enable registry</code></p>
<p>Also you can enable alias for registry:</p>
<p><code>minikube addons enable registry-aliases # test.com, test.org, example.com, example.org</code></p>
<p>Docs: <a href="https://github.com/kubernetes/minikube/blob/master/deploy/addons/registry-aliases/README.md" rel="nofollow noreferrer">https://github.com/kubernetes/minikube/blob/master/deploy/addons/registry-aliases/README.md</a></p>
<p><strong>UPDATE:</strong></p>
<p>I just reread you question, you want to reach from minikube the registry that is running on your host machine. For that you can use the <code>host.minikube.internal</code> hostname, so <code>host.minikube.internal:5000/hello-world:v1.0</code></p>
<p>Docs: <a href="https://minikube.sigs.k8s.io/docs/handbook/host-access/" rel="nofollow noreferrer">https://minikube.sigs.k8s.io/docs/handbook/host-access/</a></p>
