MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

harbor 安装部署及镜像管理 harbor镜像清理

2024-12-16 13:23 huorong 精选文章 6 ℃ 0 评论

harbor 安装部署及镜像管理

源码地址

https://github.com/vmware/harbor

一、 Harbor特性

1. 基于角色控制

用户和仓库都是基于项目进行组织的, 而用户基于项目可以拥有不同的权限。

2. 基于镜像的复制策略

镜像可以在多个 Harbor 实例之间进行复制

3. 支持 LDAP

Harbor 的用户授权可以使用已经存在 LDAP 用户

4. 镜像删除 & 垃圾回收

Image 可以被删除并且回收 Image 占用的空间

绝大部分的用户操作 API, 方便用户对系统进行扩展

5. 用户 UI

用户可以轻松的浏览、搜索镜像仓库以及对项目进行管理

6. 轻松的部署功能

Harbor 提供了 online、offline 安装, 除此之外还提供了 virtual appliance 安装


二、 系统要求

docker 1.10.0 以上版本,安装文档:https://docs.docker.com/engine/installation/

docker-compose 1.6.0 以上版本,安装文档:https://docs.docker.com/compose/install/


三、 harbor基础环境安装

yum -y install certbot libevent-devel gcc libffi-devel python-devel openssl-devel python2-pip

1. 安装docker

yum -y install docker

启动 docker,使用如下命令行:

systemctl start docker

systemctl enable docker

2. 安装 docker-compose

使用如下命令:

pip install -U docker-compose

查看 docker-compose 的版本,如下:

docker-compose version

离线版本下载:

https://github.com/vmware/harbor/releases

(https://github.com/goharbor/harbor/releases ,最新版 v1.7.8-rc1,go 编写)

以v1.1.2版本为例

wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz

tar xvf harbor-offline-installer-v1.1.2.tgz

mv harbor-offline-installer-v1.1.2.tgz /data/ && cd /data/

#wget 下载时改名

wget 'http://a.com/a.file' -O b.file

mkdir -p /data/harbor/cert

切换工作路径到证书存放目录

cd /data/harbor/cert


四、 创建证书(必须使用https)

1. 创建 CA 根证书

openssl req -newkey rsa:4096 \

-nodes -sha256 -keyout ca.key -x509 -days 365 \

-out ca.crt -subj "/C=CN/L=Shenzhen/O=lisea/CN=harbor-registry"

2. 生成证书签名

设置访问域名为 harbor.meng.com

openssl req -newkey rsa:4096 \

-nodes -sha256 -keyout harbor.meng.com.key \

-out server.csr -subj "/C=CN/L=Shenzhen/O=lisea/CN=harbor.meng.com"

3. 生成主机证书

openssl x509 -req -days 365 \

-in server.csr -CA ca.crt -CAkey ca.key \

-CAcreateserial -out harbor.meng.com.crt


五、 配置文件修改

vim harbor.cfg

根据需求进行配置,至少修改 host 改为 harbor 服务器的 IP 地址或者域名

hostname = harbor.meng.com

ui_url_protocol = https

# 邮件相关信息配置,如忘记密码发送邮件

email_server = smtp.exmail.qq.com

email_server_port = 25

email_username = monitor@kaiser.com.cn

email_password = www

email_from = docker < monitor@kaiser.com.cn >

email_ssl = false

#默认的 Harbor 的管理员密码,管理员用户名默认 admin,用于web页面,以及仓库登录

harbor_admin_password = Harbor12345

# 设置证书路径

ssl_cert = /data/harbor/cert/harbor.meng.com.crt

ssl_cert_key = /data/harbor/cert/harbor.meng.com.key

安装 harbor

./install.sh


六、 管理harbor

1. 登录harbor

通过浏览器访问管理 [提前设置本地 hosts 文件本地重定向至 harbor 服务器 IP]

https://harbor.meng.com

用户默认为 admin

密码默认为 Harbor12345

2. 客户端使用测试

创建 public 项目, 访问级别选择公开

创建仓库证书存放目录

mkdir /etc/docker/certs.d/harbor.ksgame.com

从 harbor 服务器获取证书至仓库证书目录

scp root@harbor-server-ip:/data/harbor/cert/ca.crt /etc/docker/certs.d/harbor.ksgame.com/ca.crt

用户登陆[ 本地需要做 hosts harbor.ksgame.com 域名重定向至 harbor 服务器 IP]

docker login -u admin -p Harbor12345 harbor.ksgame.com

提示 "Login Succeeded" 既成功

docker 下载 redis 镜像:docker pull redis

使用 docker tag 将镜像改名

上传镜像到 harbor 仓库



登录 web 查看镜像是否上传成功


3. 删除本地镜像

docker rmi harbor.meng.com/public/redis:v1.0.0

4. 从 harbor 中下载镜像

docker pull harbor.meng.com/public/redis:v1.0.0


七、 其他操作说明

删除本地镜像

docker rmi harbor.meng.com/public/redis:v1.0.0

从 harbor 中下载镜像

docker pull harbor.meng.com/public/redis:v1.0.0

停止 Harbor 服务:

$ docker-compose stop

启动 Harbor 服务:

$ docker-compose start

如果需要修改 Harbor 的配置,首先需要停掉正在运行的 Harbor 实例,更新 harbor.cfg 文件,再次运行install.sh

$ docker-compose down

$ vim harbor.cfg

$ sh install.sh

删除 Harbor 容器,保存镜像文件和 Harbor 的数据库文件:

$ docker-compose rm

删除 Harbor 的数据库信息和镜像文件 (一般为了纯净安装):

$ rm -r /data/database

$ rm -r /data/registry

默认情况下,regirstry 的数据被持久化到目标主机的/data/目录,当 Harbor 的容器被删除或者重新创建的时候,数据不会有任何改变



Tags:harbor安装

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言