云計(jì)算
環(huán)境準(zhǔn)備
環(huán)境:兩個(gè)centos7虛擬機(jī)?
虛擬機(jī)一:192.168.249.132 用作私有倉(cāng)庫(kù)
虛擬機(jī)二:192.168.249.133 用戶開(kāi)發(fā)機(jī)
一、安裝docker(虛機(jī)一、二)
兩臺(tái)主機(jī)都需要安裝,docker安裝步驟參考?
https://blog.51cto.com/14129044/2425605
二、安裝docker-compose(虛機(jī)一)
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(虛機(jī)一)
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改為本機(jī)ip,其它參數(shù)可以保持默認(rèn)值;port為harbor的端口號(hào),harbor_admin_password為admin用戶的登錄密碼
3、啟動(dòng)harbor
./install.sh
4、瀏覽器中輸入192.168.249.132彈出如下界面,使用admin賬戶登錄
5、新建項(xiàng)目(倉(cāng)庫(kù))
新建一個(gè)名稱為abc的私有倉(cāng)庫(kù),設(shè)置不公開(kāi)
注意:當(dāng)項(xiàng)目設(shè)為公開(kāi)后,任何人都有此項(xiàng)目下鏡像的讀權(quán)限。命令行用戶不需要“docker login”就可以拉取此項(xiàng)目下的鏡像。
四、使用鏡像倉(cāng)庫(kù)(虛機(jī)二)
1、在用戶機(jī)登錄私有倉(cāng)庫(kù)
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版本開(kāi)始默認(rèn)docker registry使用的是https,我們?cè)O(shè)置harbor默認(rèn)http方式,所以當(dāng)執(zhí)行用docker login、pull、push等命令操作非https的docker regsitry的時(shí)就會(huì)報(bào)錯(cuò)。
解決,在發(fā)起登錄的客戶端主機(jī)上的文件(如沒(méi)有則創(chuàng)建)/etc/docker/daemon.json中添加如下參數(shù):
{
insecure-registries: [192.168.249.132]
}
重啟docker:systemctl restart docker.service
再次登錄,顯示成功
2、上傳鏡像到倉(cāng)庫(kù)
查看本機(jī)當(dāng)前存在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、鏡像下載
用戶機(jī)上先將剛剛上傳的192.168.249.132/abc/nginx:v1 鏡像刪除,使用docke image ls命令查看保證本地已無(wú)該鏡像
再使用pull命令去私有鏡像倉(cāng)庫(kù)下載,可看到已下載成功
docker pull 192.168.249.132/abc/nginx:v1