<p>Working on getting development environment setup in Minikube and ran across an issue pulling images from the <code>https://quay.io/v2/</code> registry.  </p>

<p>I have ran the command:<br>
<code>eval $(minikube docker-env)</code> . </p>

<p>Which allows me to build my local <code>Dockerfile</code> in Minikube and it does a great job with that and deployments work great with local images.</p>

<p>I then used helm to install
<code>helm install stable/mssql-linux</code> . </p>

<p>Which worked fine and its image points to this <code>microsoft/mssql-server-linux:2017-CU3</code> <a href="https://hub.docker.com/r/microsoft/mssql-server-linux/" rel="nofollow noreferrer">HERE</a></p>

<p>I am also working with <a href="https://github.com/kubernetes/charts/tree/master/stable/redis-ha" rel="nofollow noreferrer">redis-ha</a> and installed like so:<br>
 <code>helm install stable/redis-ha --set="rbac.create=false"</code>  </p>

<p>The <code>rbac.create=false</code> seems to allow it to install in Minikube without causing all sorts of issues. However, despite creating deployments and services...the deployments ultimately fail because it cant pull the image.</p>

<p>I get the following error:
<code>
Failed to pull image "quay.io/smile/redis:4.0.8r0": rpc error: code = Unknown desc = Error response from daemon: Get https://quay.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
</code></p>

<p>The deployments point to this <a href="https://quay.io/repository/smile/redis?tab=info" rel="nofollow noreferrer">registry</a> image: <code>quay.io/smile/redis:4.0.8r0</code></p>

<p>I have changed my DNS pretty much everywhere I could to point to <code>8.8.8.8</code> as it seems like it cant resolve the URL.  It could also just be that I need to add the registry someplace?  I kind of feel that its registry specific since Minikube docker daemon appears to be able to pull from <code>docker hub</code> but not <code>quay.io</code>. </p>

<p>If I use a terminal that is not running <code>eval $(minikube docker-env)</code> and use the docker daemon on my host computer I can pull the <code>quay.io/smile/redis:4.0.8r0</code> image just fine...ssh into minikube and try and it cant pull.</p>

<p><strong>Minikube version</strong>
<code>minikube version: v0.25.0</code></p>

<p><strong>Docker for Mac</strong> 
<code>Version 17.12.0-ce-mac55 (23011)</code></p>

<blockquote>
  <p>as it seems like it cant resolve the URL</p>
</blockquote>

<p>What lead you to believe that, when the error clearly states that it has a <code>Client.Timeout exceeded while awaiting headers</code>? It resolved the registry to an IP address, and even apparently opened a network connection to what it thinks is the registry's IP and port. But after that, the networking stack in minikube did not, in fact, allow the traffic out. Observe that the error wasn't DNS, and it wasn't connection refused, it was connection timed out. That is almost always a firewall-esque behavior.</p>

<p>That smells very, very much like a corporate HTTP proxy, since your machine can interact with the Internet but minikube cannot.</p>

<p>There are a ton of troubleshooting steps one could go through, however, if you are interested in a very quick win, you can, from your working host computer, run <code>docker save quay.io/smile/redis:4.0.8r0 | ssh-into-minikube "docker load"</code> and treat minikube as if it were airgapped.</p>
