前言
之前使用Docker官方的Registry镜像搭建了私有仓库,但是没有可一个可视化的界面去维护,非常不方便。所幸Vmware推出一个基于官方Registry V2镜像打造的私有仓库项目.
Harbor 简介
Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器,
通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution。
作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。
Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中,确保数据和知识产权在公司内部网络中管控。
另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
Harbor 是由 VMware 中国研发团队负责开发的开源企业级 Docker Registry,
不仅解决了我们直接使用 Docker Registry 的功能缺失,
更解决了我们在生产使用 Docker Registry 面临的高可用、镜像仓库直接复制、镜像仓库性能等运维痛点。
Harbor 部署
环境准备
Python version 2.7 or higher
Docker version 1.10 or higher
Docker Compose version 1.6.0 or higher
安装步骤
下载离线安装包
https://github.com/goharbor/harbor/releases
1 | cd /usr/local/ |
配置harbor.cfg1
2
3
4
5
6
7
8
9
10
11
12
13vim harbor.cfg
#hostname = reg.mydomain.com
hostname = registry.sundayle.com:5000
vim docker-compose.yml
ports:
#- 80:80
- 5000:80
#- 443:443
- 4443:443
./prepare
docker-compose up -d
ERROR: Get https://registry.xwx.cn:5000/v2/: http: server gave HTTP response to HTTPS client1
2
3
4
5
6root@web41:/data/config# cat /etc/docker/daemon.json
{
"data-root": "/data/docker",
"registry-mirrors": ["https://8vf7m3dk.mirror.aliyuncs.com", "https://registry.docker-cn.com"],
"insecure-registries": ["registry.sundayle.com:5000"]
}
重置admin密码
1 | # 进入容器 |
修改默认用户名
1 | update harbor_user set username='harbor_sunday' where user_id=1; |
升级
https://github.com/goharbor/harbor/blob/master/docs/migration_guide.md
https://github.com/goharbor/harbor/issues/9146
https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md