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 目录改名
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安装脚本
注:这边你可以看到harbor依赖的软件包
10、docker ps查看
11、安装nginx
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服务,则跳过此步骤)
账号为:admin,密码:Harbor12345
密码为之前安装时的harbor.yml配置文件配置的密码。
17、创建一个public项目
18、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 进行反向代理。