部署企业私有镜像仓库Harbor
私有鏡像倉庫有許多優點
????????1)節省網絡帶寬,針對于每個鏡像不用每個人都去中央倉庫上面去下載,只需要從私有倉庫中下載即可;
????????2)提供鏡像資源利用,針對于公司內部使用的鏡像,推送到本地的私有倉庫中,以供公司內部相關人員使用。
VMware公司開源了企業級Registry項目Harbor,其的目標是幫助用戶迅速搭建一個企業級的Docker registry 服務。
華為云購買云主機,準備環境如下
主機名稱 ? ? ? ? ? IP地址?????????????????? 角色
harbor????????? 192.168.1.100????????? Harbor私有鏡像倉庫
docker????????? 192.168.1.68??????????? Docker主機
- 分發實驗所需軟件包
Dokcer Compose 是用于定義和運行多容器 Docker 應用程序的工具。
Harbor的每個組件都是以Docker容器的形式構建的,所以使用Docker Compose來對它進行部署。
部署私有鏡像倉庫harbor
從jump-server 主機拷貝harbor軟件到1.100主機
[root@jump-server ~]# scp -r /root/project3/harbor 192.168.1.100:/root/harbor主機開機路由轉發
[root@harbor ~]# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf [root@harbor ~]# sysctl -pharbor主機安裝docker服務,并啟動
[root@harbor ~]# cd /root/harbor/ [root@harbor harbor]# yum -y install docker-ce-18.06.3.ce-3.el7.x86_64.rpm [root@harbor harbor]# systemctl start docker [root@harbor harbor]# systemctl enable docker 部署harbor [root@harborharbor]# mv docker-compose /usr/local/bin/ [root@harborharbor]# chmod +x /usr/local/bin/docker-compose [root@harborharbor]# tar -xf harbor-offline-installer-v2.2.3.tgz -C /usr/local/ [root@harborharbor]# cd /usr/local/harbor [root@harbor harbor]# ls common.sh harbor.yml.tmpl LICENSE harbor.v2.2.3.tar.gz install.sh prepare4)修改配置文件
#拷貝harbor配置文件
安裝harbor
[root@harbor harbor]# ./install.sh ....... ? ----Harbor has been installed and started successfully.---- [root@harbor harbor]# ss -antpu | grep 80 tcp LISTEN 0 1024 [::]:80 [::]:* users: (("docker-proxy",pid=15459,fd=4))1、設置監聽器,添加后端服務器。沒有需要購買
【服務器列表】—>【彈性負載均衡ELB】—>【(自定義ELB名稱)】—>【監聽器】—>【添加監聽器】。
?
?
?
?
?另外購買一個新的公網IP地址,綁定到此負載均衡器上面
2、訪問Harbor界面(http://公網IP地址:80)
用戶名:admin 密碼:Harbor12345(密碼在配置文件)
部署一臺Docker主機用于測試上傳和下載。
安裝docker軟件
Docker Registry交互默認使用的是https,然而此處搭建的私有倉庫只提供http服務,所以當與私有倉庫交互時就會
報上面的錯誤。為了解決這個問題需要在啟動docke時增加啟動參數為默認使用http訪問。這個是在客戶機的docker配
置文件里添加的(即上傳鏡像到私有倉庫里或從私有倉庫下載鏡像的客戶機)
harbor主機拷貝docker軟件包到docker主機
[root@harbor harbor]# cd /root/harbor/ [root@harbor harbor]# scp docker-ce-18.06.3.ce-3.el7.x86_64.rpm 192.168.1.68:/root/docker主機安裝docker軟件包,更改配置文件
[root@docker ~]# yum -y install docker-ce-18.06.3.ce-3.el7.x86_64.rpm [root@docker ~]# vim /usr/lib/systemd/system/docker.service 12 ExecStart=/usr/bin/dockerd --insecure-registry 192.168.1.100:80 [root@docker ~]# systemctl daemon-reload && systemctl enable docker && systemctl start docker測試登錄Harbor鏡像倉庫。
[root@docker ~]# docker login http://192.168.1.100:80 Username: admin Password: Harbor12345 ....... Login Succeeded#密碼信息會存儲在/root/.docker/config.json中
注意:如果沒有添加--insecure-registry 192.168.1.100:80,在登錄時會報以下錯誤。
Error response from daemon: Get https://192.168.1.100:80/v2/: http: server gave HTTP response to
HTTPS client解決方法:添加參數,重啟服務即可。
向私有倉庫中上傳鏡像 harbor主機上傳busybox鏡像給docker主機[root@harbor docker]# cd /root/harbor/ [root@harbor harbor]# scp busybox.tar 192.168.1.68:/root/[點擊并拖拽以移動]#docker主機導入鏡像[root@docker ~]# docker load -i busybox.tar [root@docker ~]# docker images[點擊并拖拽以移動]#查看系統中鏡像 [root@docker ~]# docker tag busybox:latest 192.168.1.100:80/library/busybox:latest #更改標簽[root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.1.67:8099/library/busybox latest be5888e67be6 2 months ago 1.22MB busybox latest be5888e67be6 2 months ago 1.22MB[點擊并拖拽以移動]#向私有倉庫推送鏡像[root@docker ~]# docker push 192.168.1.100:80/library/busybox:latest The push refers to repository 192.168.1.100:80/library/busybox] 5b0d2d635df8: Pushed latest: digest: sha256:a2490cec4484ee6c1068ba3a05f89934010c85242f736280b35343483b2264b6 size: 527在界面中查看剛剛上傳的鏡像文件。
能夠看到鏡像倉庫數為1,點擊項目名稱,查看該項目下的鏡像文件
點擊進去,可以看到上傳的鏡像
?
?將系統中目前有的鏡像文件刪除, 從私有鏡像倉庫中下載鏡像
[root@docker ~]# docker rmi 192.168.1.100:80/library/busybox:latest [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE busybox latest be5888e67be6 2 months ago 1.22MB 下載鏡像 [root@docker ~]# docker pull 192.168.1.100:80/library/busybox:latest [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.1.67:8099/library/busybox latest be5888e67be6 2 months ago 1.22MB busybox latest be5888e67be6 2 months ago 1.22MB點擊左側導航欄,可以看到日志信息
如果harbor停止了,可以使用如下命令啟動
總結
以上是生活随笔為你收集整理的部署企业私有镜像仓库Harbor的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jump-server 安装部署
- 下一篇: awk,sed,grep运用正则与扩展正