<p>I knew I can tag the image name from official name with private image name and push to it</p>
<pre><code>docker pull alpine
docker tag alpine &lt;abc.jrog.io&gt;/alpine
docker push &lt;abc.jrog.io&gt;/alpine
</code></pre>
<p>But this is not the case when I deal with Kubernetes helm charts, especailly with sub-charts.</p>
<p>I can set new image name in <code>values.yaml</code>, but if one chart calls other charts, I can't make this works.</p>
<p>So currently I have to pull all charts and rename images and add private registry server as prefix.</p>
<p>Are there any ways I can do that transparently?</p>
<p>For example, if I pull image <code>alpine</code>, the computer/server can automatically to get the image from private registry without any image name changed?</p>
<p>So the ideal is very close to git insteadOf feature.</p>
<pre><code>git config --global url.&quot;https://&quot;.insteadOf git://
</code></pre>
<p>with above configuraiton, I can force <code>https://</code> to <code>git://</code> always</p>
<p>I'd like to set the similar in <code>docker pull</code>, it is not pull from hub.docker.io, but from <code>&lt;abc.jrog.io&gt;</code></p>

<p>What you want, is to configure a custom <em>default registry</em>. Wether this is possible or how to do it depends on what container runtime and nodes that you are using. See e.g. <a href="https://stackoverflow.com/questions/33054369/how-to-change-the-default-docker-registry-from-docker-io-to-my-private-registry">How to change the default docker registry from docker.io to my private registry?
</a></p>
