一、Harbor介紹
Docker容器應用的開發和運行離不開可靠的鏡像管理,雖然Docker官方也提供了公共的鏡像倉庫,但是從安全和效率等方面考慮,部署私有環境內的Registry也是非常必要的。Harbor是由VMware公司開源的企業級的Docker Registry管理項目,它包括權限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊、鏡像復制和中文支持等功能。
二、環境准備
Harbor的所有服務組件都是在Docker中部署的,所以官方安裝使用Docker-compose快速部署,所以需要安裝Docker、Docker-compose。由於Harbor是基於Docker Registry V2版本,所以就要求Docker版本不小於1.10.0,Docker-compose版本不小於1.6.0
2.1 安裝Docker
https://yeasy.gitbook.io/docker_practice/setup
2.2 安裝docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
三、harbor安裝與使用
3.1、下載離線安裝版本,並解壓
# 下載 wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-offline-installer-v1.6.0.tgz # 解壓 tar xvf harbor-offline-installer-v1.6.0.tgz # 進入harbor目錄 cd harbor/
3.2、配置harbor.cfg
vim harbor.cfg
# hostname修改為本機ip地址 hostname = 192.168.3.248 # admin賬號的密碼 harbor_admin_password = Harbor12345
3.3、運行install.sh安裝並啟動Harbor
直接運行./install.sh即可
./install.sh
看到安裝完成提示即表明安裝成功了
3.4、在瀏覽器打開IP地址,使用賬號密碼登陸
賬號:admin
密碼:Harbor12345
http://192.168.126.138/harbor/projects
ps: 服務器重啟后,需要進入harbor目錄(此目錄有docker-compose.yml),執行 docker-compose up -d 重啟所有服務
3.5、harbor新建項目
登陸harbor系統,點擊“項目” → “新建項目”。新建一個 public-projects 的項目,訪問級別選擇公開。
打開 public-projects,點擊“推送鏡像”,可查看推送鏡像的命令,192.168.126.138是harbor服務器的IP,也是harbor.cfg配置的hostnam
3.6、 推送鏡像
1) 新打開一台服務器作為客戶端推送鏡像,由於沒將harbor配置為https訪問方式,需要修改客戶端的/etc/docker/daemon.json,信任barbor倉庫。
在客戶端機器上執行 vim /etc/docker/daemon.json 新增 insecure-registrie
{ "registry-mirrors": ["https://registry.docker-cn.com"], "insecure-registries": ["192.168.126.138"] }
systemctl daemon-reload
systemctl restart docker
2) 推送鏡像前需要登錄harbor,在客戶端機器上執行登錄
-u后接賬號,-p后接密碼,最后是harbor的服務器ip
docker login -u admin -p Harbor12345 192.168.126.138
3) 按照Barbor“推送鏡像”按鈕中的提示,制作鏡像,推送鏡像。
# 打tag docker tag year12/app3:v2 192.168.126.138/year12/app3:v2 # 推送 docker push 192.168.126.138/year12/app3:v2
4) 在harbor中查看鏡像
3.7 拉取鏡像
1) 由於沒將harbor配置為https訪問方式,需要修改客戶端的/etc/docker/daemon.json,信任barbor倉庫。
在客戶端機器上執行 vim /etc/docker/daemon.json 新增 insecure-registrie
{
"registry-mirrors": ["https://registry.docker-cn.com"], "insecure-registries": ["192.168.126.138"] }
systemctl daemon-reload
systemctl restart docker
2) harbor鏡像提供了pull命令,點擊復制Pull命令,在客戶端機器上執行即可。拉取公開倉庫鏡像不需要登錄。
我是跟着大佬一步一步安裝的
原文 : https://blog.csdn.net/u010606397/article/details/111559341