1、下载Harbor
官方地址:
下载地址:
https://github.com/goharbor/harbor/tags
选择文档版本进行下载,这里我们选择v2.7.2版本


2、上传到服务器并解压
上传压缩包到服务器后,解压到/usr/local目录下,执行以下解压命令
tar -zxvf harbor-offline-installer-v2.7.2.tgz -C /usr/local
进入harbor目录下
cd /usr/local/harbor/
复制一份配置文件
cp harbor.yml.tmpl harbor.yml
修改harbor.yml配置
vi harbor.yml

需求修改两个地方:
1)hostname值改成主机的ip。2)证书没配置,https模块注释掉。
改后如下:

3、执行安装文件
执行运行install.sh文件,最终安装的形式也是通过Docker安装的。
./install.sh
安装完成之后,运行docker ps可看到运行了相关的容器。
docker ps

注:虽然Harbor的docker-compose.yml设置了restart: always,但发现每次容器重启完都没有成功启动Harbor,这时需要重新执行下./install.sh即可。
4、登录Harbor
请求登录地址登录
用户名:admin
默认密码:Harbor12345

5、新建项目
在Harbor控制台新增项目


6、推送镜像格式
推送到Harbor中,镜像的格式需要满足以下格式:
harbor地址/项目名/镜像名:版本
如:192.168.88.125:80/repo/devops-test:v1.0.0
7、配置daemon.json
vi /etc/docker/daemon.json
录入以下内容
{
"insecure-registries":["192.168.88.125:80"]
}
然后重启docker服务
systemctl restart docker
8、测试推送
8.1、给镜像打tag
docker images

给devops-test:v1.0.0打tag,使得符合推送的格式
docker tag 45371f57574a 192.168.88.125:80/repo/devops-test:v1.0.0
执行完之后重新执行docker images发现多了个刚我们打的标签

8.2、推送镜像
推送镜像到Harbor,推送前,需要先执行登录操作
docker login -u admin -p Harbor12345 192.168.88.125:80
docker push 192.168.88.125:80/repo/devops-test:v1.0.0

8.3、查看Harbor仓库镜像
在Harbor镜像仓库中可以看到我们刚推的镜像,表明已经推送成功了。
