此文章假設(shè)讀者已經(jīng)知道Harbor的用途,僅對(duì)Harbor在CentOS7下搭建進(jìn)行講解,并通過push與pull進(jìn)行測(cè)試,每一步都經(jīng)親手測(cè)試,請(qǐng)放心閱讀~
據(jù)說,只是據(jù)說,Harbor需要安裝在有docker與docker-compose的運(yùn)行環(huán)境上,于是我們需要先安裝docker與docker-compose
一、安裝docker運(yùn)行環(huán)境
1、安裝依賴工具包
# 最近yum總有些搗蛋,如果提示yum lock,可以通過rm -rf /var/run/yum.pid進(jìn)行解鎖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2、添加源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、查看可安裝的docker版本
# 當(dāng)然,如果你足夠自信的話可以不需要查看版本直接安裝
sudo yum list docker-ce --showduplicates

4、安裝docker
sudo yum install docker-ce-18.06.3.ce-3.el7 -y

5、查看下版本
# 主要是想驗(yàn)證下安裝是否成功
docker -v
6、開啟遠(yuǎn)程訪問
這句總感覺哪里不對(duì),現(xiàn)在都systemctl了,怎么還在搞service
vim /lib/systemd/system/docker.service
# 找到ExecStart行,修改成下邊這樣
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

# 重啟一下docker,使配置生效
systemctl restart docker
7、放行一下防火墻
sudo firewall-cmd --zone=public --add-port=2375/tcp --permanent
sudo firewall-cmd --reload
# 使用curl驗(yàn)證一下
curl localhost:2375

8、驗(yàn)證遠(yuǎn)程訪問是否成功
使用瀏覽器訪問:http://10.5.25.102:2375/version,注意:10.5.25.102是我虛擬機(jī)的IP,2375是放行的端口,顯示如下圖:

二、安裝docker-compose
1、安裝
curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

PS:早知道一步就安完了就不單獨(dú)列一章了……
2、修改權(quán)限
chmod +x /usr/local/bin/docker-compose
三、安裝Harbor
我安裝時(shí)最新版似乎是出來到2.3,但公司安裝的是1.9,So,我安裝個(gè)2.0就可以了~
1、獲取壓縮包
# 沒有wget就用yum wget安裝下~
wget https://storage.googleapis.com/harbor-releases/release-2.0.0/harbor-offline-installer-latest.tgz

2、解個(gè)壓
tar -xvf harbor-offline-installer-latest.tgz

3、修改配置
作大了,下個(gè)這版本發(fā)現(xiàn)和兩個(gè)參考文章的都不一樣兒,先給虛擬機(jī)做個(gè)快照,硬搞吧……
# 進(jìn)入解壓目錄
cd ./harbor/
# 從模板復(fù)制個(gè)配置文件出來
cp ./harbor.yml.tmpl ./harbor.yml
# 編輯下配置文件
vim ./harbor.yml
修改下,地址,端口與密碼

3、開始安裝
# 開裝
sh ./install.sh


# 再裝
sh ./install.sh

4、驗(yàn)證
curl localhost:80

打開瀏覽器,訪問10.5.25.102,如下圖:

5、登錄
用戶名:admin
密碼:Harbor12345(剛剛配置文件中的)

6、校驗(yàn)組件狀態(tài)
# 在Harbor安裝文件的所在目錄執(zhí)行即可,需要docker-compose.yml文件
docker-compose ps

至少要這幾個(gè),我配置的時(shí)候就遇到postgresql沒啟來導(dǎo)致登錄不成功,后來用docker start手動(dòng)啟動(dòng)容器,才登錄進(jìn)去的
PS:也可分別查看組件日志

cd /var/log/harbor/

7、開機(jī)自啟
systemctl daemon-reload && systemctl enable docker && systemctl restart docker
四、鏡像推送
1、創(chuàng)建個(gè)用戶先

2、再建個(gè)項(xiàng)目



3、為項(xiàng)目添加成員


4、查看推送命令
先查看一下推送命令,如下圖:

5、登錄
docker login -u xin.li -p Ab@123456 http://10.5.25.102

修改下客戶端配置
vim /etc/docker/daemon.json
# 加入如下內(nèi)容,由于未配置加速器,所以如下:
{
"insecure-registries":["10.5.25.102"]
}
# 重啟docker與守護(hù)進(jìn)程
systemctl daemon-reload
systemctl restart docker

6、在docker.io上先拉個(gè)鏡像到本機(jī)
# 在客戶端拉個(gè)鏡像下來
docker pull nginx

7、修改鏡像tag
# 修改為服務(wù)器要求格式
docker tag nginx:latest 10.5.25.102/demo/nginx:latest

# 修改tag
docker tag nginx:latest 10.5.25.102/demo/nginx:latest
# 再次查看images
docker images

8、開推
docker push 10.5.25.102/demo/nginx:latest

登錄服務(wù)器端查看

查看鏡像

五、鏡像拉取
1、查看拉取命令

2、客戶機(jī)上執(zhí)行拉取
由于使用的是同一臺(tái)客戶機(jī),先刪除鏡像再拉取

拉取

3、查看鏡像

4、啟動(dòng)容器
docker run -d --name mynginx -p 80:80 4cdc
本機(jī)使用curl進(jìn)行測(cè)試
curl localhost:80

其他機(jī)器使用瀏覽器測(cè)試:http://10.5.25.126

all done~
PS:本來想今晚早碎的,看來又失敗了,唉~
參考文獻(xiàn):感謝
1、http://www.itdecent.cn/p/7e44556ddc08