一篇文章搞定Docker私服搭建--Harbor


Docker的應(yīng)用越來越廣泛,在公司內(nèi)部搭建一臺(tái)私服是剛需需求。Docker官方提供了Registry具備此功能,但管理方面較弱,不適合企業(yè)級(jí)的應(yīng)用,今天給大家介紹Harbor的使用。 Harbor是由VMware公司開源的企業(yè)級(jí)的Docker Registry管理項(xiàng)目,它包括權(quán)限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊(cè)、鏡像復(fù)制和中文支持等功能。 鑒于網(wǎng)上很多文件介紹較為片面,本篇文章作出如下總結(jié)和整理。 文章分為安裝、Harbor使用介紹、鏡像操作三部分,全面介紹Harbor的使用,整體來說,安裝簡(jiǎn)單、使用簡(jiǎn)單。

相關(guān)安裝

Docker安裝

# 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

# 啟動(dòng) Docker
[root@centos7 ~]# systemctl start docker

# 查看 Docker 版本號(hào)
[root@centos7 ~]# docker --version
復(fù)制代碼

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 -y git

# 查看 docker-compose 版本號(hào)
[root@centos7 ~] docker-compose -version
復(fù)制代碼

如果安裝python出現(xiàn)如下錯(cuò)誤:

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-WImLdR/pyparsing/
復(fù)制代碼

可嘗試執(zhí)行如下指令:

sudo python -m pip install --upgrade --force pip
sudo pip install setuptools==33.1.1
復(fù)制代碼

安裝harbor

下載

文件地址:下載地址-github

wget https://github.com/goharbor/harbor/releases/download/v1.9.3/harbor-offline-installer-v1.9.3.tgz
復(fù)制代碼

這里通過以上指令下載,默認(rèn)下載在當(dāng)前文件夾

配置

解壓,得到如下

tar -zxvf harbor-offline-installer-v1.9.3.tgz
復(fù)制代碼

Image.png

配置harbor.yml

Image [1].png

配置docker-compose.yml[圖片上傳中...(image-474798-1579590383132-7)]
Image [2].png

運(yùn)行安裝指令

sudo ./install.sh
復(fù)制代碼

如果出現(xiàn)如下結(jié)果,恭喜你,成功安裝

Image [3].png

至此,安裝步驟完成

harbor使用

訪問地址 //hostname:port (hostname 和 port 為上述配置)

Image [4].png

Image [5].png

以下是對(duì)關(guān)鍵功能介紹

項(xiàng)目

以項(xiàng)目的維度劃分鏡像,可以理解為鏡像組,相同鏡像的不同版本可以放在一個(gè)項(xiàng)目里,同樣項(xiàng)目里有完成的倉庫、成員、標(biāo)簽、日志的管理。 注意,此處的標(biāo)簽,不建議維護(hù),用全局的設(shè)置,最好最好統(tǒng)一,如何設(shè)置,稍后講到

日志

harbor將日志分為日志和事件日志,比較簡(jiǎn)單,就不贅述了


Image [6].png
Image [7].png

系統(tǒng)管理

用戶管理 用于操作用戶的增刪、密碼重置

倉庫管理 拉取其他服務(wù)器鏡像到本地

同步管理 可定時(shí)去拉取最新鏡像

任務(wù)

垃圾清理 定時(shí)清空無用鏡像

配置管理

此功能比較清晰,主要想介紹下標(biāo)簽,此處標(biāo)簽為全局,供所有鏡像使用


Image [8].png

鏡像推送

首先面臨的是HTTP推送問題,

ERROR: Get https://192.168.1.111:81/v2/: http: server gave HTTP response to HTTPS client
復(fù)制代碼

docker默認(rèn)的是HTTPS,大部分場(chǎng)景Harbor在內(nèi)網(wǎng),沒有HTTPS,則需要設(shè)置去除,方法簡(jiǎn)單:

Image [9].png

Linux操作

vi /etc/docker/daemon.json
# 內(nèi)容如下
{
    "insecure-registries":["harbor.goodcol.com:81"]
}
# 加載和重啟服務(wù)
systemctl daemon-reload
systemctl restart docker
復(fù)制代碼

鏡像推送和拉取

#從私服拉取鏡像 docker pull 私服地址/倉庫項(xiàng)目名/鏡像名:標(biāo)簽
復(fù)制代碼

鏡像推送

#推送
docker login 服務(wù)器地址:port

#鏡像打標(biāo)簽 ,要重新打標(biāo)簽,標(biāo)簽?zāi)J(rèn)是官網(wǎng)地址
docker tag 鏡像名:標(biāo)簽 私服地址/倉庫項(xiàng)目名/鏡像名:標(biāo)簽

#推送指令
docker push 私服地址/倉庫項(xiàng)目名/鏡像名:標(biāo)簽

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容