項目環境搭建【Docker+k8s】六 || 部署Docker私有倉庫harbor


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項目

alt 圖片1

切換到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的鏡像

alt 圖片2


免責聲明!

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



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