1、部署主機
- YN101-100.host.com
2、官方github地址下載二進制包並安裝
下載包統一存放位置
cd /opt/src
解壓
tar xf harbor-offline-installer-v1.8.5.tgz -C /opt/
重命名,做版本標記
mv harbor/ harbor-v1.8.5
創建軟連接,管理不同版本的軟件包,方便以后升級
[root@yn101-100 opt]# ln -s /opt/harbor-v1.8.5/ /opt/harbor
[root@yn101-100 opt]# ll
total 0
drwxr-xr-x 2 root root 71 Feb 16 12:53 certs
drwx--x--x 4 root root 28 Feb 16 13:25 containerd
lrwxrwxrwx 1 root root 19 Feb 16 14:27 harbor -> /opt/harbor-v1.8.5/
drwxr-xr-x 2 root root 100 Feb 16 14:24 harbor-v1.8.5
drwxr-xr-x 2 root root 49 Feb 16 14:23 src
3、配置文件修改
進入解壓目錄
cd /opt/harbor
#創建數據存儲文件夾和日志文件夾
mkdir -p /data/harbor/logs
修改配置文件harbor.yml
vi harbor.yml
#修改內容如下:
hostname: reg.mydomain.com-->hostname: harbor.yn.com
http.port: 80-->port: 180
harbor_admin_password: Harbor12345-->harbor_admin_password: keivn
data_volume: /data-->data_volume: /data/harbor
log.location: /var/log/harbor-->log.location: /data/harbor/logs
4、啟動harbor
安裝docker-compose,harbor依賴docker-compose做單機編排
yum install docker-compose -y
#查看安裝版本
[root@yn101-100 harbor]# rpm -qa docker-compose
docker-compose-1.18.0-4.el7.noarch
運行harbor,啟動可以看到harbor依賴docker和docker-compose
[root@yn101-100 harbor]# cd /opt/harbor
[root@yn101-100 harbor]# ./install.sh
[Step 0]: checking installation environment ...
Note: docker version: 19.03.6
Note: docker-compose version: 1.18.0
5、nginx反向代理
不能直接使用配置的180端口進行訪問,使用nginx做反向代理
yum install nginx -y
新建nginx配置文件
vi /etc/nginx/conf.d/harbor.yn.com.conf
#配置文件內容如下:
server {
listen 80;
server_name harbor.yn.com;
client_max_body_size 1000m;
location / {
proxy_pass http://127.0.0.1:180;
}
}
啟動nginx
[root@yn101-100 conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
systemctl start nginx
systemctl enable nginx
6、配置harbor域名DNS解析
切換到DNS服務器YN101-21.host.com,業務域數據文件添加解析記錄
vi /var/named/yn.com.zone
#前滾一個序號 :系列號(日期+序號),序號每次修改加1
2020021501-->2020021602
#添加一條解析記錄
harbor A 192.168.101.100
重啟並測試
systemctl restart named
#測試
[root@yn101-21 ~]# dig -t A harbor.yn.com +short
192.168.101.100
#瀏覽器訪問
harbor.yn.com
7、鏡像存儲測試
進入harbor管理界面,新建一個public項目
切換到DNS服務器YN101-100.host.com,推送鏡像
#下載鏡像測試
docker pull nginx:1.7.9==>docker pull docker.io/library/nginx:1.7.9
docker images | grep 1.7.9
#打一個鏡像tag
docker tag 84581e99d807 harbor.yn.com/public/nginx:v1.7.9
#推送到倉庫,報錯requested access to the resource is denied,原因為沒有登錄
[root@yn101-100 data]# docker push harbor.yn.com/public/nginx:v1.7.9
#輸出如下
The push refers to repository [harbor.yn.com/public/nginx]
5f70bf18a086: Preparing
4b26ab29a475: Preparing
ccb1d68e3fb7: Preparing
e387107e2065: Preparing
63bf84221cce: Preparing
e02dce553481: Waiting
dea2e4984e29: Waiting
denied: requested access to the resource is denied
登錄harbor推送鏡像
#登錄
docker login harbor.yn.com
#再次推送
[root@yn101-100 data]# docker push harbor.yn.com/public/nginx:v1.7.9
#輸出如下
The push refers to repository [harbor.yn.com/public/nginx]
5f70bf18a086: Pushed
4b26ab29a475: Pushed
ccb1d68e3fb7: Pushed
e387107e2065: Pushed
63bf84221cce: Pushed
e02dce553481: Pushed
dea2e4984e29: Pushed
1.7.9: digest: sha256:b1f5935eb2e9e2ae89c0b3e2e148c19068d91ca502e857052f14db230443e4c2 size: 3012
查看harbor的public項目里面已經有nginx1.7.9的鏡像