1. 程式人生 > >Docker自學紀實(六)搭建docker私有倉庫

Docker自學紀實(六)搭建docker私有倉庫

docker的映象倉庫分兩種:一種是從官方公有倉庫拉取;還有就是自己搭建私有倉庫。
官方的映象倉庫是面對整個應用市場的;私有倉庫一般用於公司內部,就是公司專案自身所需的映象。
搭建私有倉庫有什麼好處?
私有倉庫,是在公司內網伺服器上搭建的,不受外網影響,響應時間快,而且方便整理。
OK,下面開始。
準備環境:centos7;docker;

搭建registry 私有倉庫,上傳httpd到私有倉庫,下載驗證。
1.首先從公共倉庫拉取registry映象和httpd映象到本地,並執行。

1 拉取映象:docker pull registry
2 執行:docker run -d -v /opt/registry:/var/lib/registry --name registry --restart=always -p 5000
:5000 --privileged=true registry

-v  宿主機資料卷:容器資料卷。 --restart=always:容器總是開啟,防止意外中斷。-p 宿主機埠:容器埠。--privileged=true授予許可權:

注意:啟動registry容器時,如果不加--privileged=true引數,則上傳映象到私有倉庫時可能出現問題:

 

 

2.給要上傳的映象打tag標籤,上傳。

1 新增標籤:docker tag httpd 192.168.1.200:5000/apache:v1
2 刪除標籤:docker rmi httpd 192.168
.1.200:5000/apache:v1 3 檢視:docker images 4 上傳:docker push 192.168.1.200:5000/apache:v1

注意:上傳時可能會遇到問題導致上傳失敗,如:

解決方案:
修改daemon.json檔案sudo vi /etc/docker/daemon.json
新增:{ "insecure-registries":["你私有倉庫的主機IP:5000"]}

3.檢視私有倉庫。

1 curl http://192.168.1.200:5000/v2/_catalog
2 curl http://192.168.1.200:5000/v2/apache/tags/list

[  ]裡面的是倉庫裡的映象

4.從另一臺機器拉取並啟動apache容器。

注意:另一臺機器也需要修改/etc/docker/daemon.json,新增:{ "insecure-registries":["你私有倉庫的主機IP:5000"]}