最低要求:CPU2核/内存4G/硬盘40G
推荐:CPU4核/内存8G/硬盘300G
Docker CE 17.06版本+ 本文版本:Docker CE 20.10.14
Docker Compose 1.18版本+ 本文版本:V2.4.1
Harbor v2.5.0
Harbor有两种安装方式:
• 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
• 离线安装:安装包包含部署的相关镜像,因此安装包比较大
# 安装依赖包
yum install -y yum-utils
# 添加Docker软件包源
yum-config-manager --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker CE
yum install -y docker-ce
# 启动Docker服务并设置开机启动
systemctl start docker
systemctl enable docker
#下载
wget https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64
#移动到系统二进制目录下
mv docker-compose-linux-x86_64 /usr/bin/docker-compose
#赋可执行权限
chmod a+x /usr/bin/docker-compose
#验证是否安装成功
docker-compose --help
本文选择离线安装方式,所以安装包有点大
wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz
tar zxvf harbor-offline-installer-v2.5.0.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
hostname: reg.mydomain.com #此处需要修改,IP或者域名都行
#https的四行配置需要添加注释
https:
port: 443
certificate: /your/certificate/path
private_key: /your/private/key/path
#可以修改数据目录
data_volume: /data
#可以修改harbor管理员初始密码
harbor_admin_password: Harbor12345
#可以修改日志路径
log:
level: info
local:
rotate_count: 50
rotate_size: 200M
location: /var/log/harbor
./prepare
./install.sh
http方式搭建的harbor本地docker登陆的时候需要配置信任,否则按https请求,会报错。配置方式如下:
IP地址为仓库地址
vim /etc/docker/daemon.json
可以自己生成自签证书,或者网上申请证书都可,阿里云域名可以申请免费证书
#生成自签证书
自签证书使用的时候需要做本地hosts解析
#创建证书目录
mkdir -p /etc/harbor/key
cd /etc/harbor/key
#生成秘钥和自签名证书:
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
#生成证书签名请求(域名改为自己harbor里的)这里为(harbor.my.com)
openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.my.com.key -out harbor.my.com.csr
#生成服务器证书:(域名改为自己harbor里的)这里为(harbor.my.com)
openssl x509 -req -days 365 -in harbor.my.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out harbor.my.com.crt
vi harbor.yml
hostname: harbor.my.com #此处需要修改成自己的域名
https:
port: 443
certificate: /etc/harbor/key/harbor.my.com.crt
private_key: /etc/harbor/key/harbor.my.com.key
把以上https的四行注释去掉,然后配置实际的证书路径即可
./prepare
docker-compose down
docker-compose up -d
mkdir /etc/docker/certs.d/harbor.my.com(你的域名)
cp 你的域名 /etc/docker/certs.d/harbor.my.com/harbor.my.com.crt
到此Harbor https配置完成
容器 |
功能 |
harbor-core |
配置管理中心 |
harbor-db |
PG数据库 |
harbor-jobservice |
负责镜像复制 |
harbor-log |
记录操作日志 |
harbor-portal |
Web管理页面和API |
nginx |
前端代理,负责前端页面和镜像上传/下载转发 |
redis |
会话 |
registryctl |
镜像存储 |
容器数据持久化目录(可更改):/data
日志文件目录(可更改):/var/log/harbor
数据库做好定期备份。
• 简单,主挂了切到备Harbor
• 同一时间只有一台提供服务
• 适合少量镜像下载
• 双向配置复制
• 两台同时提供服务
• 前面增加负载均衡器
• 多个从同步主
• 适合多地区业务、大量镜像下载需求
4.主从配置步骤
提供者:选择Harbor
目标名:自定义,可填一个具有声明意义的名称
描述:自定义,可备注目标仓库的一些信息
目标URL:对端仓库的地址
访问ID:目标仓库的用户名
访问密码:访问ID的密码
验证远程证书:如果对端用的是自签证书或者非信任证书的话不要勾选此项
名称:自定义,有声明意义
描述:自定义,备注规则中仓库信息
复制模式:
Push-based:从本地仓库推送到远程仓库,双主模式两个harbor同时配置
Pull-based:从远程仓库拉去到本地仓库,一主多从模式的从库可配置,主从模式从库可配置
目标仓库/源仓库:对端仓库地址,在仓库管理中添加
资源过滤器:指定根据什么来同步
触发模式:一般选择事件驱动,这样主库已更新就会同步