云計算
環(huán)境準備
環(huán)境:兩個centos7虛擬機?
虛擬機一:192.168.249.132 用作私有倉庫
虛擬機二:192.168.249.133 用戶開發(fā)機
一、安裝docker(虛機一、二)
兩臺主機都需要安裝,docker安裝步驟參考?
https://blog.51cto.com/14129044/2425605
二、安裝docker-compose(虛機一)
curl -l https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
chmod x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose –version
三、安裝harbor(虛機一)
1、獲取harbor安裝包
wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-online-installer-v1.8.1.tgz
tar xvf harbor-online-installer-v1.8.1.tgz
2、配置harbor目錄下的harbor.yml
vim harbor.yml
將hostname改為本機ip,其它參數(shù)可以保持默認值;port為harbor的端口號,harbor_admin_password為admin用戶的登錄密碼
3、啟動harbor
./install.sh
4、瀏覽器中輸入192.168.249.132彈出如下界面,使用admin賬戶登錄
5、新建項目(倉庫)
新建一個名稱為abc的私有倉庫,設(shè)置不公開
注意:當項目設(shè)為公開后,任何人都有此項目下鏡像的讀權(quán)限。命令行用戶不需要“docker login”就可以拉取此項目下的鏡像。
四、使用鏡像倉庫(虛機二)
1、在用戶機登錄私有倉庫
docker login?192.168.249.132
若提示error response from daemon: get https://192.168.249.132/v2/: dial tcp 192.168.249.132:443: connect: connection refused
docker1.3.2版本開始默認docker registry使用的是https,我們設(shè)置harbor默認http方式,所以當執(zhí)行用docker login、pull、push等命令操作非https的docker regsitry的時就會報錯。
解決,在發(fā)起登錄的客戶端主機上的文件(如沒有則創(chuàng)建)/etc/docker/daemon.json中添加如下參數(shù):
{
insecure-registries: [192.168.249.132]
}
重啟docker:systemctl restart docker.service
再次登錄,顯示成功
2、上傳鏡像到倉庫
查看本機當前存在nginx:latest鏡像
先打tag,然后再push上傳
docker tag nginx:latest 192.168.249.132/abc/nginx:v1
docker push 192.168.249.132/abc/nginx:v1
3、鏡像下載
用戶機上先將剛剛上傳的192.168.249.132/abc/nginx:v1 鏡像刪除,使用docke image ls命令查看保證本地已無該鏡像
再使用pull命令去私有鏡像倉庫下載,可看到已下載成功
docker pull 192.168.249.132/abc/nginx:v1