前言
如今,越来越多的项目被容器化,同时项目也在不断更新迭代,镜像也被作为标准的项目工件。企业需要一个专门的镜像仓库。 Harbor 图像存储和分发的安全性也使其适合企业使用。
什么是Harbor?
Harbor 是一个开源、可信的云原生注册表项目,用于存储、签名和扫描内容。 Harbor 通过添加用户常用的功能(例如安全性、身份和管理)来扩展开源Docker 发行版。将注册表移近构建和运行时环境可以提高图像传输效率。 Harbor 支持注册表之间的映像复制,还提供高级安全功能,例如用户管理、访问控制和活动审核。 (官方解释)
官方地址:https://goharbor.io/
官方开源代码地址:https://github.com/goharbor/harbor
官方部署文档:https://goharbor.io/docs/2.2.0/install-config/
官方文档描述了两种部署方式:在线部署和离线部署。在本文中,我们将离线部署Harbor。
一、系统环境
1.1 软件版本
软件版本
操作系统CentOS Linux 版本7.9.2009(核心)
码头工人20.10.7-ce
Docker-Compose 1.23.2
港口2.3.0
1.2 关闭防火墙和selinux
[root@harbor ~]# systemctl stopfirewalld
[root@harbor ~]# 禁用systemctl防火墙
[root@harbor ~]# setenforce 0
[root@harbor ~]# sed -i ‘s/enforcing/disabled/’ /etc/selinux/config
二、安装Docker与Docker-Compose
2.1 安装Docker
要安装Docker-ce,请参阅本文。
CentOS7引入最新的Docker ce
2.2 安装Docker-Compose
[root@harbor ~]# wget https://github.com/docker/compose/releases/download/1.23.2/docker-compose-Linux-x86_64 -o /usr/bin/docker-compose #下载可执行文件
[root@harbor ~]# chmod +x /usr/bin/docker-compose
[root@harbor ~]# docker-compose 版本
三、安装Harbor
3.1 下载离线安装包
访问Harbor开源网站:https://github.com/goharbor/harbor
下载地址:https://github.com/goharbor/harbor/releases/download/v2.3.0/harbor-offline-installer-v2.3.0.tgz
3.2 解压离线包
将下载的Harbor-offline-installer-v2.3.0.tgz上传到您的服务器并解压。
[root@harbor ~]# ls [root@harbor ~]# tar zxf Harbor-offline-installer-v2.3.0.tgz -C /usr/local/[root@harbor ~]# ls /usr/local/harbor/
3.3 安装harbor
[root@harbor ~]# cd /usr/local/harbor/
[root@harbor Harbor]# cp Harbor.yml.tmpl Harbor.yml #复制模板配置文件
[root@harbor 港口]# vim Harbor.yml
hostname: reg.mydomain.com 更改为hostname: 192.168.16.75
https: 添加评论
端口: 443 添加评论
certificate: /您的/证书/路径添加评论
private_key: /your/private/key/path 添加评论
[root@harbor Harbor]# ./install.sh #运行安装脚本
运行安装脚本时,脚本会到镜像仓库中检索对应的镜像并运行。
[root@harbor Harbor]# docker ps #当脚本完成时,10个容器将在docker ps中可见并运行。
浏览器访问:
http://IP
默认账户密码:admin/Harbor12345
目前只有一个空项目
四、Docker主机配置http连接
如果其他Docker 主机需要推送或拉取镜像,我在配置上述Harbor 时禁用了https,因为在推送或拉取镜像时,Harbor 默认不允许http 连接。因此,您需要在其他Docker 主机上进行配置更改以支持http 连接。注意:想要上传或拉取镜像到Harbor的Docker主机必须配置Harbor的私有仓库地址。
[root@node1 ~]# vim /etc/docker/daemon.json
添加:’不安全注册表’: [‘192.168.16.75’]
[root@node1 ~]# systemctl daemon-reload systemctl restart docker
五、harbor创建项目测试
5.1 创建项目
登录Harbor系统,创建项目。
5.2 获取推送命令
5.3 推送镜像
例如,我目前在node1 Docker主机上有一个定制版本的nginx镜像。接下来需要上传到端口的私有仓库。
[root@node1 ~]# docker login 192.168.16.75 # 登录私有仓库。您的帐户密码是Harbor网站(admin/Harbor12345)。
[root@node1 ~]# docker image ls
[root@node1 ~]# docker tag nginx:1.17 192.168.16.75/pull-test/nginx:1.17 # 给镜像打标签
[root@node1 ~]# docker Push 192.168.16.75/pull-test/nginx:1.17
5.4 harbor查看项目镜像
使用相同的步骤拉取镜像。更多具体功能和配置,还请访问官方博客网站:https://goharbor.io/blog/。
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/83149.html