docker 搭建私有倉庫

docker 搭建私有倉庫

本篇文章描述了多個機器可以在內網中訪問自己的私有倉庫,訪問倉庫時需要CA認證!最簡單,最低保障私有倉庫的安全性!在一個比較龐大的集羣裏,可以運行多個私有倉庫的replica,然後借用代理來balance請求!

1.測試環境

本人測試環境爲ubuntu 14.04,docker版本1.6.4(版本稍微比較老,新版本安裝流程是一樣的).官網上說:You need to install Docker version 1.6.0 or newer.
在阿里雲上開了兩臺機器:

CPU: 1核 內存: 1024 MB (I/O優化)
112.74.165.87(公)
172.18.222.77(私有)

112.74.166.40(公)
172.18.222.78(私有)

2. 安裝docker(兩臺機器)

3.用openssl 創建CA證書

在172.18.222.77機器, root目錄下:

 $ mkdir certs

創建證書

$ openssl req \
     -newkey rsa:2048 -nodes -keyout certs/domain.key \
     -x509 -days 365 -out certs/domain.crt

會在certs目錄下生成一個key和crt

4.啓動容器用ca

在172.18.222.77機器, 拉取鏡像

$ sudo docker pull registry

創建容器

docker run -d -p 5000:5000 --restart=always --name registry \
  -v `pwd`/certs:/certs \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
  -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
  registry

5.配置hosts文件(兩臺機器)

配置ip地址

$ vim /etc/hosts

將my.com地址配置爲私有倉庫的ip地址,在hosts裏添加:

172.18.222.77   my.com

6.配置證書

將生成的證書cp到/etc/docker/certs.d/my.com:5000/ca.crt ,需要用域名my.com拉鏡像的都需要配置.

docker最好重啓一下

$ service docker restart

7.測試

在裝有私有倉庫執行以下操作

$ docker tag registry my.com:5000/registry
$ docker push my.com:5000/registry
$ docker pull my.com:5000/registry

在另一臺機器上執行

$ docker pull my.com:5000/registry

然後執行

$ docker images

輸出
busybox latest c40e708042c6 3 days ago 1.11 MB
my.com:5000/buuu latest c40e708042c6 3 days ago 1.11 MB
my.com:5000/bu 1 c40e708042c6 3 days ago 1.11 MB
my.com:5000/registry latest 71606dce0120 2 weeks ago 37.62 MB

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章