Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目,它主要 提供 Dcoker Registry 管理UI,可基于角色访问控制, AD/LDAP 集成,日志审核等功能,完全的支持中文。Harbor 的所有组件都在 Dcoker 中部署,所以 Harbor 可使用 Docker Compose 快速部署。
注: 由于 Harbor 是基于 Docker Registry V2 版本,所以 docker 版本必须 > = 1.10.0 docker-compose >= 1.6.0
开源项目地址:https://github.com/vmware/harbor
一、 使用docker compose 快速部署:
首先用 git 下载 源码。
git clone https://github.com/vmware/harbor
下载完以后 进入 harbor/Deploy 目录
初始化配置, 配置文件为harbor.cfg
## Configuration file of Harbor
# hostname 设置访问地址,支持IP,域名,主机名,禁止设置127.0.0.1
hostname = reg.mydomain.com
# 访问协议,可设置 http,https
ui_url_protocol = http
# 邮件通知, 配置邮件通知。
email_server = smtp.mydomain.com
email_server_port= 25
email_username= sample_admin@mydomain.com
email_password= abc
email_from= admin <sample_admin@mydomain.com>
email_ssl= false
# harbor WEB UI登陆使用的密码
harbor_admin_password = Harbor12345
# 认证方式,这里支持多种认证方式,默认是 db_auth ,既mysql数据库存储认证。
# 这里还支持 ldap 以及 本地文件存储方式。
auth_mode = db_auth
# ldap 服务器访问地址。
ldap_url = ldaps://ldap.mydomain.com
ldap_basedn= uid=%s,ou=people,dc=mydomain,dc=com
# mysql root 账户的 密码
db_password = root123
self_registration= on
use_compressed_js= on
max_job_workers= 3
verify_remote_cert= on
customize_crt= on
# 一些显示的设置.
crt_country = CN
crt_state= State
crt_location= CN
crt_organization= organization
crt_organizationalunit= organizational unit
crt_commonname= example.com
crt_email= example@example.com
修改为配置文件以后 运行./prepare脚本更新配置, 出现如下信息表示 更新完毕.
Generated configuration file: ./config/ui/env Generated configurationfile: ./config/ui/app.conf
Generated configurationfile: ./config/registry/config.yml
Generated configurationfile: ./config/db/env
Generated configurationfile: ./config/jobservice/env
Clearing the configurationfile: ./config/ui/private_key.pem
Clearing the configurationfile: ./config/registry/root.crt
Generated configurationfile: ./config/ui/private_key.pem
Generated configurationfile: ./config/registry/root.crt
The configuration files are ready, please use docker-compose to start the service.
执行完毕会生成一个 docker-compose.yml 文件
配置 docker-compose.yml 文件中的 挂载目录,启动方式等选项。
使用 pip install docker-compose 安装 docker-compose
执行 docker-compose up -d 构建docker 容器
docker hub 下载镜像实在是慢, Harbor 提供了一个 配置本地镜像的配置: cd harbor/contrib/prebuild-install
运行 update_compose.sh 配置本地的镜像仓库
我们也可以配置 --registry-mirror= 来加速下载 使用 daocloud 提供的 mirror
[root@localhost Deploy]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
deploy_jobservice latest be822b50163d 43 minutes ago 804.6 MB
deploy_mysql latest 5015ce56c9d5 49 minutes ago 328.8 MB
deploy_ui latest 8596c12dbeba About an hour ago 808.1 MB
deploy_log latest 6a74c6f52a2b About an hour ago 187.9 MB
mysql 5.6 5e0f1b09e25e 2 days ago 328.8 MB
Ubuntu 14.04 0ccb13bf1954 12 days ago 187.9 MB
golang 1.6.2 8ecba0e9bd48 5 weeks ago 753.5 MB
nginx 1.9 c8c29d842c09 10 weeks ago 182.7 MB
registry 2.4.0 8b162eee2794 3 months ago 171.1 MB