Harbor Docker企业级私有镜像仓库

Posted by Sunday on 2018-12-28

前言

之前使用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
2
3
4
cd /usr/local/
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.0.tgz
tar xf /harbor-offline-installer-v1.7.0.tgz
cd harbor/

配置harbor.cfg

1
2
3
4
5
6
7
8
9
10
11
12
13
vim 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 client

1
2
3
4
5
6
root@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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 进入容器
docker exec -it harbor-db /bin/bash
psql -h postgresql -d postgres -U postgres
#>输入root123

# 切换harbor数据库
\c registry

# 查看harbor_user表
select * from harbor_user;

# 修改admin密码为Harbor12345
update harbor_user set password='a71a7d0df981a61cbb53a97ed8d78f3e', salt='ah3fdh5b7yxepalg9z45bu8zb36sszmr' where username='admin';

# 退出
\q
exit

修改默认用户名

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