Heim > Backend-Entwicklung > PHP-Tutorial > Docker:私有仓库的搭建

Docker:私有仓库的搭建

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-07-29 09:07:25
Original
1213 Leute haben es durchsucht

继续,本文描述私有仓库的搭建最简步骤。

概要来说:

  1. 安装registry镜像,启动容器。
  2. CA证书(还有一种办法是直接用HTTP也行,可以省略此步)
  3. 制作镜像,发布。

安装Registry的最简方法是直接Pull一个现成的Registry镜像即可。

<code>docker pull registry</code>
Nach dem Login kopieren

然后启动它。

<code>docker run <span>-p</span><span>5000</span>:<span>5000</span><span>-v</span> /home/registry:/tmp/registry registry</code>
Nach dem Login kopieren

暴露5000端口对外服务,同时,装载宿主机的/home/registry目录作为仓库目录。

现在可以push自己的镜像到这个仓库了,需要先给一个镜像打个标签,然后PUSH即可,命令如下:

<code>docker tag java:<span>7</span>-jre hub<span>.wo</span><span>.cn</span>/yancheng/java
docker <span>push</span> hub<span>.wo</span><span>.cn</span>/yancheng/java</code>
Nach dem Login kopieren

此时,必然会报一个安全错误:
Docker:私有仓库的搭建

从错误描述来看,有两种解决办法,一是使用HTTP,二是安装CA证书。

方法一,配置成HTTP,速度会稍快,也简单。只需要修改一下 /etc/default/docker 文件,加上一句话:

<code>DOCKER_OPTS=<span>"<span>$DOCKER_OPTS</span> --insecure-registry=hub.open.wo.cn"</span></code>
Nach dem Login kopieren

然后重启Docker,sudo service docker restart,即可正常push了。

方法二,配置安全证书,略显麻烦,尤其是我们的docker registry在nginx后面。

首先,需要生成自己的证书(到服务器上操作),命令如下:

<code>openssl genrsa -des3 -<span>out</span> hub<span>.key</span><span>2048</span>
openssl rsa -<span>in</span> hub<span>.key</span> -<span>out</span> hub_nopwd<span>.key</span>
openssl req -new -key hub_nopwd<span>.key</span> -<span>out</span> hub<span>.csr</span>
openssl x509 -req -days <span>3650</span> -<span>in</span> hub<span>.csr</span> -signkey hub_nopwd<span>.key</span> -<span>out</span> hub<span>.crt</span></code>
Nach dem Login kopieren

然后,我们配置一下Nginx,增加对HTTPS的支持。

<code>server {
   listen       <span>443</span>;
   server_name  hub<span>.</span>wo<span>.</span><span>cn</span>;
   ssl  <span>on</span>;
   ssl_certificate      /usr/<span>local</span>/nginx/conf/hub<span>.</span>crt;
   ssl_certificate_key  /usr/<span>local</span>/nginx/conf/hub_nopwd<span>.</span>key;

   location <span>/</span> {
        proxy_pass http:<span>//10.250.251.20:5000;</span>
        proxy_redirect off;
        proxy_set_header Host <span>$host</span>;
        proxy_set_header x<span>-forwarded</span><span>-for</span><span>$remote_addr</span>;
   }
}</code>
Nach dem Login kopieren

注意hub.crt和hub_nopwd.key的位置。重启nginx。

现在,需要将这个hub.crt弄到本地,按前面截图的提示放到相应目录下。即:/etc/docker/certs.d/hub.open.wo.cn

再次重启docker,再push就正常了。

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了Docker:私有仓库的搭建,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
Docker installiert PHPStudy
Aus 1970-01-01 08:00:00
0
0
0
Über Docker
Aus 1970-01-01 08:00:00
0
0
0
Docker: Ungültiges Referenzformat
Aus 1970-01-01 08:00:00
0
0
0
Docker-Pull-Fehler?
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage