Harbor 是 Vmwar 公司開源的 企業(yè)級的 Docker Registry 管理項目
它主要 提供 Dcoker Registry 管理UI,可基于角色訪問控制, AD/LDAP 集成,日志審核等功能,完全的支持中文。
Harbor 的所有組件都在 Dcoker 中部署,所以 Harbor 可使用 Docker Compose 快速部署。
Harbor具有如下特點:
基于角色的訪問控制 - 用戶與Docker鏡像倉庫通過“項目”進行組織管理,一個用戶可以對多個鏡像倉庫在同一命名空間(project)里有不同的權(quán)限。
鏡像復(fù)制 - 鏡像可以在多個Registry實例中復(fù)制(同步)。尤其適合于負載均衡,高可用,混合云和多云的場景。
圖形化用戶界面 - 用戶可以通過瀏覽器來瀏覽,檢索當前Docker鏡像倉庫,管理項目和命名空間。
AD/LDAP 支持 - Harbor可以集成企業(yè)內(nèi)部已有的AD/LDAP,用于鑒權(quán)認證管理。
審計管理 - 所有針對鏡像倉庫的操作都可以被記錄追溯,用于審計管理。
國際化 - 已擁有英文、中文、德文、日文和俄文的本地化版本。更多的語言將會添加進來。
RESTful API - RESTful API 提供給管理員對于Harbor更多的操控, 使得與其它管理軟件集成變得更容易。
部署簡單 - 提供在線和離線兩種安裝工具, 也可以安裝到vSphere平臺(OVA方式)虛擬設(shè)備。
Harbor 獲取地址
Harbor中文官網(wǎng):https://vmware.github.io/harbor/cn/
Github地址:https://github.com/vmware/harbor
Harbor下載地址:https://github.com/vmware/harbor/releases
Harbor二進制離線包鏡像站點:http://harbor.orientsoft.cn/
我這里下載的是 harbor-offline-installer-v1.5.0.tgz
安裝前準備
系統(tǒng)版本 centos7
安裝docker
詳情請看 基于容器安裝運行Docker私有倉庫及添加認證 ,具體命令如下:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
exclude=kube*
EOF
?
## Install prerequisites.
?
yum install -y yum-utils device-mapper-persistent-data lvm2
?
## Add docker repository.
?
##yum-config-manager -y --add-repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager -y --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
?
## Install docker.
?
yum makecache fast && yum -y install docker-ce-18.06.1.ce
?
## Create /etc/docker directory.
?
mkdir /etc/docker
?
# Setup daemon.
?
mkdir -p /etc/systemd/system/docker.service.d
?
# Restart docker.
?
systemctl daemon-reload
systemctl enable docker
systemctl restart docker
systemctl status docker
?
systemctl disable firewalld
systemctl stop firewalld
?
# Set SELinux in permissive mode (effectively disabling it)
?
# 將 SELinux 設(shè)置為 permissive 模式(將其禁用)
?
setenforce 0
sed -i 's/^SELINUX=.*$/SELINUX=permissive/' /etc/selinux/config
swapoff -a
?
修改docker啟動文件
#vi /usr/lib/systemd/system/docker.service? 修改為ExecStart=/usr/bin/dockerd --insecure-registry=192.168.163.139? ------------ip寫自己的ip但是不要寫127.0.0.1
安裝docker-compose
# yum -y install epel-release
# yum -y install python-pip
?
#yum install -y docker-compose
# docker-compose -version
下載注冊庫鏡像
#docker pull registry:2
安裝harbor
#tar zxvf harbor-offline-installer-v1.5.0.tgz
#cd harbor
#sed -i "s/^hostname = reg.mydomain.com/hostname = 192.168.163.139/g" harbor.cfg
#./install.sh
注意將這個地方的IP改成自己機器的IP,不要使用localhost,127.0.0.1
安裝成功后,如下:
Creating registry ... done
Creating harbor-ui ... done
Creating network "harbor_harbor" with the default driver
Creating nginx ... done
Creating harbor-db ...
Creating harbor-adminserver ...
Creating registry ...
Creating harbor-ui ...
Creating harbor-jobservice ...
Creating nginx ...
? ----Harbor has been installed and started successfully.----
Now you should be able to visit the admin portal at http://192.168.163.139.
For more details, please visit https://github.com/vmware/harbor .
安裝完成后通過瀏覽器訪問http://192.168.163.139,如下:

默認登錄用戶名密碼:admin/Harbor12345
登陸后的見面如下:

下來我們是用docker login登錄,如下:

這個地方輸入的用戶名密碼是我們剛安裝的Harbor的登錄用戶名密碼
下面將我們構(gòu)建的JDK和SpringBoot demo鏡像push到我們搭建的私有倉庫上
創(chuàng)建倉庫
現(xiàn)在我們在瀏覽器管理端創(chuàng)建個項目,如下

確定后,下來我們再到終端命令行將image的名字修改為格式:userip/項目名/image名字:版本號
首先我們查看一下本地鏡像:docker images

給要push到私有倉庫的鏡像打上tag:
docker tag zjf/springboot 192.168.163.139/spring/zjf/springboot
zjf/springboot是我們本地的鏡像名稱,
192.168.163.139是我們私有倉庫服務(wù)的IP地址
spring是我們剛才建立的項目名稱
然后docker images就可以看到我們的tag鏡像

然后將剛才打上tag的鏡像push到私有倉庫上
docker push 192.168.163.139/spring/zjf/springboot
然后我們就可以在web界面看到我們的鏡像文件了

