文章目录
- Harbor简介
- 安装Harbor
- 技术细节
- 1.安装系统(略),设置主机名和IP
- 2.安装docker
- 3.安装docker-compose
- 4.安装Harbor私有源仓库
- 5 测试登录
- 1.本机登录
- 2.客户端登录Harbor服务器
- 配置docker源
- 1. 下载镜像
- 2.把镜像上传到Harbor私有仓库源
- 3.客户端下载镜像,并且启动容器
linux rocky 9.4部署和管理docker harbor私有源
Harbor简介
Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理 (RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。
作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
基于角色的访问控制 - 用户与 Docker 镜像仓库通过 “项目” 进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
镜像复制 - 镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
图形化用户界面 - 用户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项目和命名空间。
AD/LDAP 支持 - Harbor 可以集成企业内部已有的 AD/LDAP,用于鉴权认证管理。
审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。
RESTful API - RESTful API 提供给管理员对于 Harbor 更多的操控,使得与其它管理软件集成变得更容易。
部署简单 - 提供在线和离线两种安装工具, 也可以安装到 vSphere 平台 (OVA 方式) 虚拟设备。
安装Harbor
安装Harbor前提: 需要提前安装docker和docker-compose
技术细节
1.安装系统(略),设置主机名和IP
[root@harbor ~]# hostnamectl hostname harbor[root@harbor ~]# cat /etc/redhat-release
2.安装docker
①下载二进制包
官网下载地址 https://download.docker.com/linux/static/stable/x86_64/
选择合适版本
②安装必要的服务器服务,tar vim lrzsz工具
命令:[root@harbor ~]# mkdir -pv /usr/local/app -- 该目录用于存放上传文件mkdir: created directory '/usr/local/app'
[root@harbor ~]# cd /usr/local/app/
[root@harbor app]# yum -y install vim tar lrzsz
③安装docker服务
a.将刚下载的文件上传或者用wget 下载到服务器
b.解压tgz二进制包
[root@harbor app]# tar -zxvf docker-27.3.1.tgz -C /usr/local/
c.进入docker目录
[root@harbor docker]# cd /usr/local/docker
可以看到以下8个文件
containerd containerd-shim-runc-v2 ctr docker dockerd docker-init docker-proxy runc
把8个文件复制/usr/bin/ – 注意不要带目录拷贝,只要八个文件
[root@harbor docker]# cp /usr/local/docker/* /usr/bin/
d.把docker服务添加到systemctl守护进程
[root@harbor docker]# vim /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
R