码字不易,戳下方名片,关注+星标
本文主要讲解内容:
什么是Harbor
如何安装Harbor
如何使用Harbor
如何管理Harbor
1 什么是Harbor
什么是Harbor
如何安装Harbor
如何使用Harbor
如何管理Harbor
Harbor是一个开源可信的企业级镜像仓库,主要用于存储和管理Docker镜像。
Harbor还提供了更高级的安全特性,如用户管理、访问控制和活动审计,目前大多数企业都在使用Harbor进行镜像管理。
我们本次基于目前Harbor的最新版本v2.11.1进行安装部署
2 安装Harbor
Harbor 的安装是基于 docker-compose ,通过构建多个容器来组成一个服务。需要先安装Docker和docker-compose
2.1 下载相关安装包
Harbor下载地址:
https://github.com/goharbor/harbor/releases
docker-compose下载地址:
https://github.com/docker/compose/releases/
两种下载方式
方式一:有网环境,直接wget下载
# 下载harbor
wget https://github.com/goharbor/harbor/releases/download/v2.11.1/harbor-offline-installer-v2.11.1.tgz
# 下载docker-compose
wget https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-linux-x86_64
方式二:先在有网环境下载安装包,再上传到无网环境的服务器
2.2 安装Docker
2.3 安装Docker-compose
# 下载
wget https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-linux-x86_64
# 将执行文件复制到环境变量
cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 创建软链接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 授予权限
chmod +x /usr/local/bin/docker-compose
# 查看版本信息
[root@localhost ~]# docker-compose version
Docker Compose version v2.29.7
2.4 安装harbor
# 下载软件包
cd /data && wget https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-linux-x86_64
# 解压
tar -xvf harbor-offline-installer-v2.11.1.tgz
# 修改配置文件
[root@localhost data]# cd harbor/
[root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
[root@localhost harbor]# vi harbor.yml
# 需要修改的配置
hostname: 10.10.10.200 #IP地址或域名
http:
port: 80 # 监听端口,此处端口可修改
# https: # 未配置证书,将其注释
# port: 443
# certificate: xxx
# private_key: xxx
harbor_admin_password: Harbor12345 # Web端admin用户密码
database:
password: root123 # 后端数据库root密码
data_volumn: /data # 数据存放路径
看到上面的信息就说明Harbor已经安装完成。
下面是Harbor各个组件的作用:
(1)nginx-photon:反向代理服务,用于将客户端请求转发到相应的后端服务,同时提供SSL加密和负载均衡等功能。
(2)harbor-jobservice:异步任务服务,负责处理耗时较长的任务,如镜像扫描、垃圾回收等。
(3) harbor-core:核心组件,负责处理Harbor的核心业务逻辑,包括用户认证、权限控制、镜像复制等。
(4)redis-photon:缓存服务,用于存储Harbor的缓存数据,提高系统性能。
(5)harbor-db:数据库组件,使用PostgreSQL作为后端存储,用于存储Harbor的元数据信息,如用户信息、镜像信息等。
(6)harbor-portal:前端门户组件,使用Nginx作为Web服务器,提供用户界面,让用户可以通过Web界面访问Harbor。
(7)harbor-registryctl:注册表控制器组件,负责监控和管理Harbor的各个组件。
(8)registry-photon:镜像仓库组件,负责存储和管理Docker镜像。
(9)harbor-log:日志组件,负责收集和存储Harbor的日志信息。
访问:在浏览器上输入服务器IP地址即可访问Harbor
【温馨提示】实际的企业生产环境一般不会直接通过http协议和IP方式访问。会有固定的域名和配置https进行访问。
下面演示如何配置HTTPS访问,企业生产环境一般都会拥有自己的域名和厂商证书。我演示的是自己创建的证书。
2.5 配置HTTPS
(1)创建证书
# 创建存放证书的目录
mkdir -p /data/cert/
# 创建自签名证书
openssl genrsa -out harbor.liyb.com.key 4096openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=CN/ST=Beijing/L=Beijing/O=matrix/OU=test/CN=harbor.liyb.com" -key harbor.liyb.com.key -out harbor.liyb.com.crt
(2)修改harbor配置
# https related config
https:
# https port for harbor, default is 443
port: 443
# The path of cert and key files for nginx
certificate: /data/cert/harbor.liyb.com.crt
private_key: /data/cert/harbor.liyb.com.key
# enable strong ssl ciphers (default: false)
(3)重启Harbor
# 停止Harbor
cd /data/harbor
docker-compose down -v
# 生成配置文件,根据 harbor.yml 配置生成docker-compose文件。
./prepare
# 后台启动harbor
docker-compose up -d
(4)配置Docker客户端
mkdir -p /etc/docker/certs.d/
cp /data/cert/harbor.liyb.com.crt /etc/docker/certs.d/harbor.liyb.com/
修改docker的daemon.json文件
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
"insecure-registries": ["10.10.10.200", "harbor.liyb.com"]
}
重启Docker
systemctl restart docker
(5)Docker登录harbor
[root@localhost ~]# docker login -u admin harbor.liyb.com
Password: # 输入harbor的密码
可以看到Docker已经顺利登录Harbor仓库,可以通过push和pull进行推送和拉取镜像了。
3 使用Harbor
3.1 Web页面登录Harbor
打开浏览器,访问 https://harbor.liyb.com,或https://ip,使用配置文件中设置的管理员用户名(默认是 admin)和密码登录。
IP地址访问
域名访问harbor
注意:如果是自签证书的话,你需要在window主机的hosts文件添加IP和域名的映射
3.2 harbor界面管理
上图就是登录后的界面,有很多的功能,可以自行去研究一下。
经常使用的功能有:
(1)仓库管理
镜像浏览与搜索:用户可以在Web界面中查看已创建的镜像仓库列表,通过点击任何一个仓库进入其详细信息页面,包括镜像列表、标签和访问权限等。同时,支持通过关键字搜索仓库中的镜像,以便快速找到所需的镜像。
镜像删除与上传:对于不再需要的镜像,可以选择删除操作,但需确保了解删除的后果。同时,支持将新的镜像上传到项目中,并为其添加标签和描述。
(2)用户权限管理
用户角色分配:用户可以创建和管理用户,并为用户分配不同的角色和权限。Harbor提供了预定义的角色(如管理员、开发人员、访客等),也支持自定义角色。
访问权限控制:除了用户管理外,还可以通过界面为用户和项目分配不同的权限,包括镜像的读取、写入和删除等操作。
(3)镜像推送拉取
镜像推送:首先需要准备一个Docker镜像,并将其推送到Harbor。然后登录到Harbor的私有仓库,标记镜像并将其推送到指定的项目。
镜像拉取:可以从Harbor中拉取镜像来部署应用程序。首先从Harbor中拉取镜像,然后使用该镜像来运行容器
3.3 推送拉取镜像实例
# Docker登录Harbor
docker login -u admin harbor.liyb.com
# 镜像打标签
docker tag nginx:latest harbor.liyb.com/product/nginx:1.26 # tag 名称= 仓库地址/项目名称/镜像名称:标记(版本号)
# 推送镜像
docker push harbor.liyb.com/product/nginx:1.26
# 拉取镜像
docker pull harbor.liyb.com/product/nginx:1.26
4 管理Harbor
4.1 启动/停止Harbor
# 进入到harbor的安装目录才能启动停止
cd /data/harbor
# 停止Harbor
docker-compose down -v
# 启动harbor
docker-compose up -d
4.2 更改配置文件
修改配置harbor.yml后需要重新加载Harbor
docker-compose down -v
# 重新生成配置文件
./prepare
# 启动Harbor
docker-compose up -d
熟练上面对Harbor的部署和使用,你已经可以企业环境轻松管理Harbor了。
欢迎转发,点亮下方“在看”图标让更多的人看到
如果不想错过精彩内容,记得在公众号页面右上角设为星标,这样每次新文章推送才会第一时间出现在你的订阅列表中。感谢支持!!
往期精彩文章