使用云构搭建harbor私有云仓库,并将镜像推送给harbor
做了那么多操作,其实目的就只有一个,搭建我们的私有仓库,后面好好维护,将自己经常要用的镜像保存下来,方便下次再次使用。
1、环境准备
操作系统推荐使用Ubuntu。
安装harbor前需要先安装Docker和docker-compose环境
我这次搭建是在PVE开了一台独立的虚拟机用来放镜像的,磁盘还是挂载在nas上,因为NAS使用了RAID,数据还是比较安全的。

2、harbor离线安装包下载和编辑
2.1 harbor安装包下载
harbor离线安装包在
https://github.com/goharbor/harbor/releases官网仓库下载

2.2 解压
harbor离线安装包安装完成后,将安装包上到你的liunx服务器系统。

使用tar 命令将离线安装包解压,会得到harbor文件。然后是进入harbor里面对里面的配置进行修改

tar -xvzf harbor-offline-installer-v2.13.2.tgz
2.3 修改配置
1、harbor.yml配置
将harbor.yml.tmpl的模版文件拷贝出来进行修改
cp harbor.yml.tmpl harbor.yml
使用vim打开harbor.yml文件
vim harbor.yml
修改以下几处配置

修改完使用【:wq!】 回车退出
2、修改prepare*文件
为什么要修改这个文件呢,因为harbor启动需要依赖到一些镜像,这些镜像在docker默认官方仓库无法下载,我们改为自己在CNB云构建pull下来的镜像。关于如何云构建,可以参考我的另外一篇文章。

vim prepare

3、修改docker-compose.yml
docker-compose.yml也是将默认的镜像改为我们自己构建,我一样是使用自己在云构建产生的镜像。
修改docker-compose.yml文件,将原来的goharbor/xxxxx:v2.13.2。替换成docker.cnb.cool/qingxueline360/docker-images-chrom/xxxxx:v2.13.2。我们可以直接使用查找替换命令来完成。
操作前,养成良好习惯,操作前先对文件进行备份 cp docker-compose.yml docker-compose.yml.back
使用vim全局查找替换命令
:%s/goharbor/docker\.cnb\.cool\/qingxueline360\/docker-images-chrom/goharbor/gc
全部替换后如下图。

3、下载harbor的依赖镜像
上面我们已经将默认的依赖镜像替换成了我们自己的了,此时你执行启动,是启动不了的。我们需要将自己制作的镜像拉到本地,此时才能构建。因为我们已经提前将依赖执行制作好了,所有这里我直接使用命令pull下来就好。关于在CNB制作的,可以关注我的另外一篇文章小白都会用,一个网址,解决你拉docker镜像问题快到起飞。使用CNB云构建下载docker镜像

以下是我在CNB做好的制品,现在你只需要使用以下命令将镜像pull下来就行。
docker pull docker.cnb.cool/qingxueline360/docker-images-chrom/goharbor-nginx-photon:v2.13.2
docker pull docker.cnb.cool/qingxueline360/docker-images-chrom/goharbor-redis-photon:v2.13.2
docker pull docker.cnb.cool/qingxueline360/docker-images-chrom/goharbor-harbor-jobservice:v2.13.2
docker pull docker.cnb.cool/qingxueline360/docker-images-chrom/goharbor-harbor-portal:v2.13.2
docker pull docker.cnb.cool/qingxueline360/docker-images-chrom/goharbor-harbor-core:v2.13.2
docker pull docker.cnb.cool/qingxueline360/docker-images-chrom/goharbor-harbor-db:v2.13.2
docker pull docker.cnb.cool/qingxueline360/docker-images-chrom/goharbor-harbor-registryctl:v2.13.2
docker pull docker.cnb.cool/qingxueline360/docker-images-chrom/goharbor-registry-photon:v2.13.2
docker pull docker.cnb.cool/qingxueline360/docker-images-chrom/goharbor-harbor-log:v2.13.2
docker pull docker.cnb.cool/qingxueline360/docker-images-chrom/goharbor-prepare:v2.13.2

4、启动harbor
4.1 执行 prepare 脚本
在 Harbor 安装过程中,prepare 脚本是一个非常重要的步骤。它主要用于生成配置文件和证书等相关操作。这个脚本会根据 harbor.yml 配置文件中的内容,为 Harbor 的部署做前置准备工作。
进入到harbor目录下,执行脚本直接使用以下命令即可
./prepare
4.2 执行docker-compose.yml脚本
依赖镜像pull完后,就可以执行命令运行构建harbor了。

执行docker-compose构建容器
docker-compose -f docker-compose.yml up -d

看到这样就表示全部成功了,使用docker ps查看就行了

访问管理后台:使用浏览器访问 http://主机 ip:80 地址.比如我的是172.16.10.2:80

默认用户名和密码你没有修改过的话,用户名是admin,密码是Harbor12345
5、harbor使用
5.1 创建用户
使用admin登录后,创建用户,并设置为管理员

5.2 创建用户仓库

5.3 使用docker 登录仓库
5.3.1 修改docker仓库地址
先要修改docker的json文件,将私仓库加入进去
在/etc/docker增加daemon.json文件
vim /etc/docker/daemon.json
文件内容如下:
{
"insecure-registries":["172.16.10.2:80"]
}
5.3.2 使用docker登录仓库
使用docker login 登录仓库
docker login 172.16.10.2:80

5.4 推送镜像到私仓
5.4.1 给本地镜像打标签
推送镜像的时候先使用docker tag 将本地镜像在本地打一个标签
docker tag <镜像ID或源镜像名> <仓库地址/命名空间/镜像名>:<标签>
如下:

我将IMAGE ID的镜像,打了个标签,输出结果如下

5.4.2 将打好标签的镜像推送到远程私有仓库
docker push <镜像标签> ,这是推送镜像的命令,我们直接使用推送上面打好标签的镜像即可。
docker push 172.16.10.2:80/qxl/goharbor-redis-photon:v2.13.2

这样就可以在账号下的项目看到自己推送的镜像了

5.5 下载镜像
下载镜像直接使用docker pull <镜像标签> 即可
docker pull 172.16.10.2:80/qxl/goharbor-redis-photon:v2.13.2

更多推荐


所有评论(0)