网站首页 > 精选文章 / 正文
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安装
猜你喜欢
- 2024-12-16 「云原生」Kubernetes(k8s)最完整版环境部署(V1.24.1)
- 2024-12-16 通过docker-compose 快速部署 harbor
- 2024-12-16 吊炸天的 Docker 图形化工具 Portainer,必须推荐给你
- 2024-12-16 Harbor私有镜像仓库的管理与使用 私有docker镜像仓库
- 2024-12-16 一文详解 Jenkins 与 Docker 的自动化 CI/CD 实战
- 2024-12-16 Docker打包制作openoffice镜像(Dockerfile方式),并处理中文乱码
- 2024-12-16 Devops实践之K8S部署:Jenkins部署Vue和Php环境
- 2024-12-16 替代虚拟机的容器Docker安装教程——(Windows版)
- 2024-12-16 一个值得信赖的云原生注册中心项目
- 2024-12-16 Linux环境中部署Harbor私有镜像仓库