Docker 私有仓库部署和管理
一、Harbor概述
1、Harbor的基本概述
- harbor是VMware公司开源的企业级Docker Registry项目
- Docker Harbor有可视化的web管理界面,可以方便管理Docker镜像,又提供了多个项目的镜像权限管理及控制功能
- harbor的优势
- 基于角色控制
- 基于镜像的复制策略
- 支持LDAP/AD
- 图像删除和垃圾收集
- 图形UI
- 审计
- RESTful API
2、Docker私有仓库架构拓扑图
- Proxy
- 通过一个前置的反向代理统一接收浏览器、Docker客户端的请求,并将请求转发给后端不同的服务
- Registry
- 复制储存Docker镜像,并处理docker push/pull命令
- Core services
- Harbor的核心功能,包括UI、webhook、token服务
- Database
- 为core services提供数据库服务
- Log collector
- 负责收集其他的log,供日后进行分析
二、Harbor构建Docker私有仓库
环境部署
主机 | 操作系统 | 主机名/IP地址 | 主要软件及版本 |
---|---|---|---|
服务器 | Centos 7.3-x86_64 | Habor/192.168.28.20 | docker 19.03、docker-compose、harbor-offline-v1.1.2 |
客户端 | Centos 7.3-x86_64 | client/192.168.28.30 | docker 19.03 |
案例需求
- 通过Harbor创建Docker私有仓库
- 图形化管理Docker私有仓库镜像
1、harbor服务的基本操作
1、下载harbor安装程序
wget http://harbor.orientsoft.cn/harbor-1.2.2/harbor-offline-installer-v1.2.2.tgz
tar xvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
配置harbor参数文件
- 参数位于文件/usr/lcoal/harbor/harbor.cfg
- harbor所需要的参数
- hostname、ui_url_protocol、max_job_workers
- db_password、customize_crt、ssl_cert、ssl_cert_key
- secretkey_path
harbor可选参数
- 电子邮件设置、harbour_admin_password、auth_mode
- self_registration、token_expiration
- project_creation_restriction、verify_remote_cert
2、用普通账户镜像操作
删除镜像
docker rmi 192.168.28.20/myproject-mxx/nginx:v1
登录和登出
docker login 192.168.28.20 #登录
docker logout 192.168.28.20 #登出
下载镜像
docker pull 192.168.28.20/myproject-mxx/nginx:v1
修改harbor.cfg配置文件
docker-compose down -v #先停止(移除)
vim harbor.cfg #再编辑
./prepare
docker-compose up -d #启动
移除harbor服务容器同时保留镜像数据/数据库
docker-compose down -v
移除harbor服务容器全部数据
rm -r /data/daabase
rm -r /data/registry