含义:在官方的 registry 上二次开发的,包含 registry 的核心功能,多数操作在web界面就能完成
一、部署harbor
wget --no-check-certificate http://github.com/goharbor/harbor/releases/download/v2.3.0/harbor-offline-installer-v2.3.0.tgz #不检查证书,否则会报错无法建立SSL连接
mkdir -p /oldboy/softwares
tar -xf harbor-offline-installer-v2.3.0.tgz -C /oldboy/softwares
cd /oldboy/softwares/harbor
cp harbor.yml.tmpl harbor.yml (后续启动脚本需要这个文件,默认的下载没有)
vim harbor.yml #修改主机名和注释掉网站功能
cat install.sh (查看启动脚本里面有这个需求docker、docker-compose,需要装上相应的软件)
./install.sh 当前目录下执行 harbor 启动脚本(或加权限)
访问 192.168.4.7 ,登录
二、操作步骤
推送的时候报错:网站协议 ——需要添加安全网站协议
vim /etc/docker/daemon.json #见下图
systemctl restart docker #重启docker 使配置文件生效
dockers container ls #查看容器状态
docker container start harbor-core #重启后核心服务不生效,手动启动核心服务
登录——打标签——推送镜像——登出(推送必须要登录,为了安全推送完了记得登出)
三、配置HTTPS证书
# 创建一个存放证书的地方(在harbor的安装目录)并进入证书目录
cd /oldboy/softwares/harbor/dokcer && mkdir certificates && cd certificates
# 生成一个自建CA证书
openssl genrsa -out harbor-ca.key 2048
# 根据自建的CA证书创建认证证书
openssl req -x509 -new -nodes -key harbor-ca.key -subj "/CN=192.168.4.7" -days 10000 -out harbor-ca.crt
# 查看证书请求信息
openssl x509 -in harbor-ca.crt -noout -text
# 启用 https 功能并指定证书文件 , 编辑配置文件(此时在harbor目录下)
cd .. && vim harbor.yml
/oldboy/softwares/harbor/dokcer/certificates/harbor-ca.crt
/oldboy/softwares/harbor/dokcer/certificates/harbor-ca.key
# 运行安装脚本(此时在harbor目录下)
./install.sh
# 查看容器运行,没启动的手动拉起来,查看出现443端口
docker container ls
netstat -nutlp
192.168.4.7 真机上访问出现,跳转到 https 代表的443端口
上传镜像或下载镜像都要在命令行登录 harbor,上传下载完毕之后退出 harbor
四、镜像复制
两台机器都配置 harbor 并启动
删除项目前,需要先删除里面的镜像文件