CentOS 部署 Harbor 镜像仓库
欢迎访问我的 GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
关于 Harbor
Harbor 是用于存储和分发 Docker 镜像的镜像仓库服务,相比 Docker Registry,Harbor 在安全、标识、管理等方面做了增强,更适合企业使用;
环境信息
今天要部署的 Harbor 版本是 1.9.0 ,本次部署用的机器信息如下:
操作系统:CentOS Linux release 7.7.1908
Docker:19.03.2
docker-compose:1.23.2
部署 Harbor
Harbor 官方提供了在线和离线两种安装方式,考虑到企业服务器有可能无法访问外网,因此选择离线安装更加实用;
打开 Harbor 的 GitHub 仓库的 release 页面下载离线安装包,地址是:https://github.com/goharbor/harbor/releases ,如下图红框所示,我选择了最新版的 1.9.0:
将离线安装包 harbor-offline-installer-v1.9.0.tgz 下载到电脑上,执行以下命令解压:
解压的结果是个名为 harbor 的文件夹,进入该文件夹;
修改配置文件 harbor.yml ,主要是修改以下两个配置:a. hostname:填写本机的 IP 地址或者 hostname,如果已经和域名绑定了也可以填域名;b. harbor_admin_password:管理员初始密码;更多配置例如 https、存储等,请参考官方文档按需设置;
开始安装,在 install.sh 文件所在目录执行命令 ./install.sh 即可安装 Harbor,部署成功的控制台信息如下:
此时应该有九个容器正常运行:
由于 Harbor 的 web 服务使用了宿主机的 80 端口,所以在浏览器直接输入宿主机的 IP 地址即可访问 Harbor 的 web 管理页面,账号是 admin ,密码是前面设置的 harbor_admin_password 的值(默认是 Harbor12345):
登录成功后发现空空如也,也是,目前还没啥东西:
允许 http 连接
接下来我们要验证 Harbor 服务是否可用,验证方式是从另一台 Linux 电脑(下面称之为 A 电脑)远程推送镜像到 Harbor 机器;
Harbor 默认是不允许 http 连接的,这里可以修改设置来支持 http 连接,以便后续的验证操作;
如果要从 A 电脑连接 Harbor 服务器,那么要对 A 电脑做设置,这里 A 电脑是 Linux 操作系统;
编辑 A 电脑的 /etc/docker/daemon.json 文件(如果不存在就新建),增加以下内容,192.168.50.167 是 Harbor 服务器的 IP 地址:
重启使配置生效:
再次提醒: 这里修改是远程连接 Harbor 服务的机器的配置,而不是 Harbor 服务器的配置;
推送镜像到 Harbor
接下来验证 Harbor 的服务,在 A 电脑上尝试将本机的镜像推送到 Harbor;
登录 A 电脑,选个本地镜像用来测试,我这里有个名为 jenkinsci/blueocean:1.19.0 的本地镜像,ID 为 11e2757c8bc1 :
执行以下命令,将选定的本地镜像修改名称和 TAG:
上述命令中,192.168.50.167 是安装 harbor 的时候,harbor.yml 文件中配置的 hostname 的值,library 是 harbor 默认的项目名称;
执行以下命令即可从 A 电脑登录 Harbor:
执行命令 docker push 192.168.50.167/library/jenkinsci/blueocean:1.19.0
上传完毕,登录 Harbor 网页,可以看到新上传的镜像:
至此,实战完毕,在您搭建 Harbor 服务的时候希望本文能给您一些参考。
欢迎关注 InfoQ:程序员欣宸
版权声明: 本文为 InfoQ 作者【程序员欣宸】的原创文章。
原文链接:【http://xie.infoq.cn/article/a65084ff17e157ed7dae20945】。文章转载请联系作者。
评论