{"id":60,"date":"2020-11-19T17:56:02","date_gmt":"2020-11-19T10:56:02","guid":{"rendered":"http:\/\/warawich.com\/?p=60"},"modified":"2020-11-24T14:06:33","modified_gmt":"2020-11-24T07:06:33","slug":"create-private-docker-registry-for-minikube","status":"publish","type":"post","link":"https:\/\/warawich.com\/index.php\/2020\/11\/19\/create-private-docker-registry-for-minikube\/","title":{"rendered":"Create Private Docker Registry for MiniKube"},"content":{"rendered":"\n<ol class=\"wp-block-list\"><li><strong>Edit<\/strong> \/etc\/hosts and map host<br> &lt;$minikube ip> host.minikube.internal<\/li><li><s><strong>Add<\/strong> insecere-registries=&#8221;host.minikube.internal:5000&#8243; in daemon.json<\/s><\/li><li><s><strong>Restart<\/strong> docker<\/s><\/li><li><strong><s>Start minikube insecure mode<\/s><\/strong><br><s>minikube start &#8211;insecure-registry=host.minikube.internal:5000 &#8211;insecure-registry=192.168.1.37<\/s><\/li><li><strong>Setup<\/strong> selfcert <a href=\"http:\/\/www.selfsignedcertificate.com\/\">http:\/\/www.selfsignedcertificate.com\/<\/a> and save host.minikube.internal.cert and host.minikube.internal.key<\/li><li><strong>Copy<\/strong> selfcert to minikube node<br>scp -i $(minikube ssh-key) -pr selfcert\/ docker@$(minikube ip):<br>6.1 minikube ssh<br>6.2 sudo cp -rvf selfcert \/etc\/docker\/certs.d\/host.minikube.internal:5000<br>6.3 cd \/etc\/docker\/certs.d\/host.minikube.internal:5000 ;  sudo openssl s_client -showcerts -connect  host.minikube.internal:5000 &lt; \/dev\/null | sed -ne &#8216;\/-BEGIN CERTIFICATE-\/,\/-END CERTIFICATE-\/p&#8217; > ca.crt<br>6.4 exit from minikube<\/li><li><strong>Create docker user and password<\/strong><br>docker container run -i &#8211;rm &#8211;entrypoint htpasswd registry:2.6.2<br>-Bbn admin password >> .\/selfcert\/htpasswd<\/li><li><strong>Copy cert to host<\/strong><br>cp cert to \/etc\/docker\/certs.d<br>sudo cp -rvf selfcert \/etc\/docker\/certs.d\/host.minikube.internal:5000<\/li><li><strong>Create ca.crt file<\/strong><br>openssl s_client -showcerts -connect :  host.minikube.internal:5000 &lt; \/dev\/null | sed -ne &#8216;\/-BEGIN CERTIFICATE-\/,\/-END CERTIFICATE-\/p&#8217; > ca.crt<\/li><li><strong>Run registry<\/strong><br><br>docker container run -itd -p 5000:5000<br>&#8211;name registry<br>&#8211;restart=always<br>-v \/home\/warawich\/Documents\/registry\/selfcert:\/certs<br>-v \/home\/warawich\/Documents\/registry\/selfcert:\/auth<br>-e &#8220;REGISTRY_AUTH=htpasswd&#8221;<br>-e &#8220;REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm&#8221;<br>-e REGISTRY_AUTH_HTPASSWD_PATH=\/auth\/htpasswd<br>-e REGISTRY_STORAGE_DELETE_ENABLED=true<br>-e REGISTRY_HTTP_TLS_CERTIFICATE=\/certs\/host.minikube.internal.cert<br>-e REGISTRY_HTTP_TLS_KEY=\/certs\/host.minikube.internal.key<br>registry:2.6.2<\/li><li><strong>Testing login from Host<\/strong><br>docker login host.minikube.internal:5000<\/li><li><strong>Testing login from minikube<\/strong><br>minikube ssh \u2013 docker login host.minikube.internal:5000<\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Edit \/etc\/hosts and map host &lt;$minikube ip> host.minikube.internal Add insecere-registries=&#8221;host.minikube.internal:5000&#8243; in daemon.json Restart docker Start minikube insecure modeminikube start &#8211;insecure-registry=host.minikube.internal:5000 &#8211;insecure-registry=192.168.1.37 Setup selfcert http:\/\/www.selfsignedcertificate.com\/ and save host.minikube.internal.cert and host.minikube.internal.key Copy selfcert to minikube nodescp -i $(minikube ssh-key) -pr selfcert\/ docker@$(minikube ip):6.1 minikube ssh6.2 sudo cp -rvf selfcert \/etc\/docker\/certs.d\/host.minikube.internal:50006.3 cd \/etc\/docker\/certs.d\/host.minikube.internal:5000 ; sudo openssl s_client -showcerts &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/warawich.com\/index.php\/2020\/11\/19\/create-private-docker-registry-for-minikube\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Create Private Docker Registry for MiniKube&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-60","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/warawich.com\/index.php\/wp-json\/wp\/v2\/posts\/60","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/warawich.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/warawich.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/warawich.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/warawich.com\/index.php\/wp-json\/wp\/v2\/comments?post=60"}],"version-history":[{"count":4,"href":"https:\/\/warawich.com\/index.php\/wp-json\/wp\/v2\/posts\/60\/revisions"}],"predecessor-version":[{"id":64,"href":"https:\/\/warawich.com\/index.php\/wp-json\/wp\/v2\/posts\/60\/revisions\/64"}],"wp:attachment":[{"href":"https:\/\/warawich.com\/index.php\/wp-json\/wp\/v2\/media?parent=60"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/warawich.com\/index.php\/wp-json\/wp\/v2\/categories?post=60"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/warawich.com\/index.php\/wp-json\/wp\/v2\/tags?post=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}