harbor
快速开始
harbor 是vmware 公司的开源的镜像仓库,依赖docker环境和docker-compose编排工具
-
下载软件包
使用过2.2.0/2.3.0/2.8.3版本
version=v2.8.3
wget https://github.com/goharbor/harbor/releases/download/${version}/harbor-offline-installer-${version}.tgz
tar xf harbor-offline-installer-${version}.tgz -C /opt/
mv /opt/harbor /opt/harbor-${version}
ln -sfv /opt/{harbor-${version},harbor}
-
修改配置文件
cp /opt/harbor/{harbor.yml.tmpl,harbor.yml}
修改域名和证书地址
vi /opt/harbor/harbor.yml
hostname: test123.com port: 80 data_volume: /data
-
配置并启动服务[该步骤允许重复执行]
/opt/harbor/install.sh --with-trivy
- 检查docker是否安装
- 检查docker-compose是否安装
- 拉取镜像
- 生成服务配置文件
common
目录和docker-compose.yml 配置文件
-
验证服务
docker-compose ps
-
推送镜像到仓库
-
修改
/etc/docker/daemon.json
"insecure-registries": ["http://10.4.7.251","http://test123.com"]
-
登录harbor
docker login test123.com
-
推送镜像到harbor
docker pull busybox docker tag busybox 10.4.7.251/library/busybox docker push 10.4.7.251/library/busybox
-
启用https
-
修改配置
vi /opt/harbor/harbor.yml
https: # https port for harbor, default is 443 port: 443 # The path of cert and key files for nginx certificate: /opt/harbor/ssl/harbor.crt private_key: /opt/harbor/ssl/harbor.key
-
创建证书
[ -d /opt/harbor/ssl/ ] && cd /opt/harbor/ssl/ || mkdir /opt/harbor/ssl/
(umask 077;openssl genrsa -out harbor.key 4096)
openssl req -new -x509 -key harbor.key -out harbor.crt -subj "/CN=test123.com" -days 3650
-
生成配置并启动
/opt/harbor/install.sh --with-trivy
-
在docker主机上配置证书
mkdir /etc/docker/certs.d/test123.com -p
scp habor主机:/opt/harbor/ssl/harbor.crt /etc/docker/certs.d/test123.com/ca.crt
docker login test123.com
harbor高可用
架构一:
flowchart TB
A{haproxy}
A -->|L4代理| B[harbor1]
A -->|L4代理| C[harbor2]
两台harbor,互相同步(仓库管理/复制管理)。在前端配置两个4(lvs)层代理做高可用(keepalived)
架构二:
共享存储(ceph)
参考文档:
[github][https://github.com/goharbor/harbor]