Linux環境下Harbor鏡像倉庫搭建


Harbor鏡像倉庫搭建
1、環境准備 (Linux系統,聯網服務器)
需要安裝docker, docker-compose
1.1Docker 安裝
# yum 包更新
[root@centos7 ~]# yum update

# 卸載舊版本 Docker
[root@centos7 ~]# yum remove docker docker-common docker-selinux docker-engine

# 安裝軟件包
[root@centos7 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 Docker yum源
[root@centos7 ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安裝 Docker
[root@centos7 ~]# yum -y install docker-ce

# 啟動 Docker
[root@centos7 ~]# systemctl start docker

# 查看 Docker 版本號
[root@centos7 ~]# docker --version
————————————————
1.2 Docker Compose 安裝
# 安裝 epel-release
[root@centos7 ~]# yum install epel-release

# 安裝 python-pip
[root@centos7 ~]# yum install -y python-pip

# 安裝 docker-compose
[root@centos7 ~]# pip install docker-compose

# 安裝 git
[root@centos7 ~]# yum install git

# 查看 docker-compose 版本號
[root@centos7 ~] docker-compose -version
————————————————
2. 安裝Harbor
2.1 Harbor 下載與安裝
#在線下載Harbor安裝包
wget https://storage.googleapis.com/harbor-releases/release-1.9.1/harbor-online-installer-v1.9.1.tgz
#解壓安裝包
tar xf harbor-online-installer-v1.8.1.tgz
#進入harbor目錄
cd harbor
#修改主機名和管理員密碼、數據庫密碼
vim harbor.yml
#修改內容
-----------------------------------------------------------------------------------
hostname: 10.0.0.11 #修改IP為服務器對外IP
harbor_admin_password: 123456 #修改Harbor admin密碼
database:
password: 123456 #修改數據庫密碼
--------------------------------------------------------------------------------------
#安裝
./install.sh
#接下來就是漫長的等待
2.2 Harbor 訪問
安裝完成之后,打開瀏覽器http:10.0.0.11,就能看到Harbor的界面了。

 

這里還要在說一個問題
Harbor是搭建完成了,在我們上傳項目的時候可能會出現一些問題

docker login 10.0.0.11
Username: admin
Password:
Error response from daemon: Get https://10.0.86.193/v1/users/: dial tcp 10.0.86.193:443: getsockopt: connection refused

在我們進行登錄上傳代碼的時候,會報出這樣的錯誤
這是因為docker1.3.2版本開始默認docker registry使用的是https,我們設置Harbor默認http方式,所以當執行用docker login、pull、push等命令操作非https的docker regsitry的時就會報錯。
解決辦法:
1、如果是在Harbor本機登錄可以這樣做如下解決

如果系統是MacOS,則可以點擊“Preference”里面的“Advanced”在“Insecure
Registry”里加上10.0.86.193,重啟Docker客戶端就可以了。
如果系統是Ubuntu,則修改配置文件/lib/systemd/system/docker.service,修改[Service]下ExecStart參數,增加–insecure-registry
10.0.86.193。
如果系統是Centos7,可以在/etc/docker/daemon.json 加上如下內容(注意是json字符串)
{
"insecure-registries": [
"10.0.86.193"
]
}

打開docker-compose.yml添加如下內容,注意前邊的空格

然后我們執行docker-compose stop
./install.sh
再次登錄就OK了

[root@docker02appl]# docker login 10.0.0.11
Username(admin): admin
Password:
Login Succeeded

2、如果是遠程登錄的話,也會出現這個錯誤

查找Docker的服務文件:登錄到已經安裝Docker的服務器,輸入 systemctl status docker查看Docker的service文件。

編輯docker.service文件:在ExecStart處添加 –insecure-registry 參數,后邊跟的是你Harbor的IP地址。


重新加載service文件,重啟docker服務,重啟docker-compose服務。
systemctl daemon-reload
systemctl restart docker
docker-compose restart

再次登錄:
docker login [ip地址或域名](Harbor地址,harbor.cfg文件中的hostname項)
//根據提示分別輸入用戶名和密碼

**附上拉取和推送的命令:**
3\.Harbor私服的使用

#推送之前先登錄Harbor
docker login 10.0.86.193
admin
Harbor12345
提示success登錄成功

查看自己有哪些鏡像;docker images
把需要上傳到Harbor的鏡像運行如下命令就可以了
#鏡像打標簽
[root@centos7 ~]#docker tag 鏡像名:標簽 私服地址/倉庫項目名/鏡像名:標簽

#推送到私服
[root@centos7 ~]#docker push 私服地址/倉庫項目名/鏡像名:標簽

#從私服拉取鏡像
[root@centos7 ~]#docker pull 私服地址/倉庫項目名/鏡像名:標簽


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM