Docker-Harbor

Harbor私有镜像仓库搭建

harbor官方github地址:https://github.com/goharbor/harbor

我这边已经下载离线包:harbor-offline-installer-v2.0.6.tgz

1、将 harbor 包放在 opt 目录下

1
cp harbor-offline-installer-v2.0.6.tgz /opt/

2、解压 harbor 包

1
tar vxf harbor-offline-installer-v2.0.6.tgz

3、harbor 目录改名

1
mv harbor harbor-2.0.6

4、创建 harbor 软链接

1
ln -s /opt/harbor-2.0.6/ /opt/harbor

注:在生产上一般用软连接去管理不同版本的软件包,这是个非常常用的方式

5、复制配置文件 harbor.yml

1
cp harbor.yml.tmpl  harbor.yml

6、编辑 harbor.yml 配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
hostname: harbor.example.com
http:
port: 180
harbor_admin_password: Harbor12345
database:
password: root123
max_idle_conns: 50
max_open_conns: 1000
data_volume: /data/harbor
clair:
updaters_interval: 12
trivy:
ignore_unfixed: false
skip_update: false
insecure: false
jobservice:
max_job_workers: 10
notification:
webhook_job_max_retry: 10
chart:
absolute_url: disabled
log:
level: info
local:
rotate_count: 50
rotate_size: 200M
location: /data/harbor/logs
_version: 2.0.0
proxy:
http_proxy:
https_proxy:
no_proxy:
components:
- core
- jobservice
- clair
- trivy

注:这边使用的是 180 端口,由于后期要用 nginx 反代。

7、创建安装目录

1
mkdir /data/harbor/logs -p

8、安装docker-compose

1
yum install docker-compose -y

注:由于harbor本身是一个单机编排的软件,所以它依赖docker-compose

9、执行harbor的install.sh安装脚本

1
./install.sh

注:这边你可以看到harbor依赖的软件包

10、docker ps查看

11、安装nginx

1
yum install nginx -y

12、配置nginx配置文件/etc/nginx/conf.d/harbor.example.com.conf

1
2
3
4
5
6
7
8
server {
listen 80;
server_name harbor.example.com;
client_max_body_size 1000m;
location / {
proxy_pass http://127.0.0.1:180;
}
}

13、启动nginx

1
systemctl start nginxsystemctl enable nginx

14、配置DNS服务器,将harbor业务域加入进去(若本地不配置DNS服务,则跳过此步骤)

1
vim /var/named/example.com.zone

注:example.com.zone为我这边环境的业务域,要手动serial前滚一个序号!!!!

15、重启DNS服务器(若本地不配置DNS服务,则跳过此步骤)

1
systemctl restart named

16、用浏览器打开harbor.example.com (打开网站的主机要配置对应的DNS服务器)

账号为:admin,密码:Harbor12345
密码为之前安装时的harbor.yml配置文件配置的密码。

17、创建一个public项目

18、pull一个nginx镜像

1
docker pull nginx

19、给这个镜像打标签

1
docker tag f6d0b4767a6c harbor.example.com/public/nginx:latest

20、docker login登录harbor私有仓库

1
docker login harbor.example.com

21、将之前打标签的镜像传到私有仓库上

1
docker push harbor.example.com/public/nginx

22、在web端查看,确认是否已经上传

23、重启服务时要注意细节

1、确认时间是否正确
2、先启动 docker 服务
3、等待 docker 将所有 harbor 所需的容器启动起来,若有没有启动成功的容器手动将其拉起来。harbor 的各个容器之间是有依赖的,某些容器会依赖部分容器。
4、当所有的容器都正常启动后,再启动 nginx 进行反向代理。
Contents
  1. 1. Harbor私有镜像仓库搭建
    1. 1.0.1. 1、将 harbor 包放在 opt 目录下
    2. 1.0.2. 2、解压 harbor 包
    3. 1.0.3. 3、harbor 目录改名
    4. 1.0.4. 4、创建 harbor 软链接
    5. 1.0.5. 5、复制配置文件 harbor.yml
    6. 1.0.6. 6、编辑 harbor.yml 配置文件
    7. 1.0.7. 7、创建安装目录
    8. 1.0.8. 8、安装docker-compose
    9. 1.0.9. 9、执行harbor的install.sh安装脚本
    10. 1.0.10. 10、docker ps查看
    11. 1.0.11. 11、安装nginx
    12. 1.0.12. 12、配置nginx配置文件/etc/nginx/conf.d/harbor.example.com.conf
    13. 1.0.13. 13、启动nginx
    14. 1.0.14. 14、配置DNS服务器,将harbor业务域加入进去(若本地不配置DNS服务,则跳过此步骤)
    15. 1.0.15. 15、重启DNS服务器(若本地不配置DNS服务,则跳过此步骤)
      1. 1.0.15.1. 16、用浏览器打开harbor.example.com (打开网站的主机要配置对应的DNS服务器)
    16. 1.0.16. 17、创建一个public项目
    17. 1.0.17. 18、pull一个nginx镜像
    18. 1.0.18. 19、给这个镜像打标签
    19. 1.0.19. 20、docker login登录harbor私有仓库
    20. 1.0.20. 21、将之前打标签的镜像传到私有仓库上
    21. 1.0.21. 22、在web端查看,确认是否已经上传
    22. 1.0.22. 23、重启服务时要注意细节
|