什么是Harbor?

Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

安装环境

docker version: 19.03.12

docker-compose version: 1.23.2

安装Docker

CentOS安装Docker

安装docker-compose

# 下载指定版本的docker-compose
$ curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

# 对二进制文件赋可执行权限
$ sudo chmod +x /usr/local/bin/docker-compose

# 测试下docker-compose是否安装成功
$ docker-compose --version
docker-compose version 1.23.2, build 1719ceb

# 这种方法安装挺简单的

安装Harbor

下载离线包(几百兆),不推荐在线安装包,感觉在线安装速度慢

wget https://github.com/vmware/harbor/releases/download/v2.0.0/harbor-offline-installer-v2.0.0.tgz

也可以在Windows上下载好,传到服务器上

https://github.com/goharbor/harbor/releases/tag/v2.0.0

将离线压缩文件放在根目录下就行,解压之后会在根目录下创建一个harbor文件夹,

tar -zxvf harbor-offline-installer-v2.0.0.tgz

[root@compute harbor]# ll
total 491068
drwxr-xr-x 3 root root        20 Aug 17 19:25 common
-rw-r--r-- 1 root root      3361 May 11 18:47 common.sh
-rw-r--r-- 1 root root      5856 Aug 17 19:27 docker-compose.yml
-rw-r--r-- 1 root root 502808042 May 11 18:48 harbor.v2.0.0.tar.gz
-rw-r--r-- 1 root root       708 Aug 17 19:27 harbor.yml
-rw-r--r-- 1 root root      7816 May 11 18:47 harbor.yml.tmpl
-rwxr-xr-x 1 root root      2523 May 11 18:47 install.sh
-rw-r--r-- 1 root root     11347 May 11 18:47 LICENSE
-rwxr-xr-x 1 root root      1856 May 11 18:47 prepare

# harbor.yml不是自带的,源目录里的文件是harbor.yml.tmpl。我将其过滤掉注释行然后修改配置了配置文件重定向到harbor.yml文件,真正的配置文件就是要删除掉tmpl后缀才行

 配置Harbor,只改动了两处

hostname: 192.168.137.20 # 改为自己本机IP
http:
  port: 80
#https: # 注释掉下面三行,不注释也可以,但要配置certificate和private_key
  #port: 443
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path
harbor_admin_password: Harbor12345

然后,/install.sh安装即可,基本不会报错

安装完成后输出

[Step 5]: starting Harbor ...
Creating network "harbor_harbor" with the default driver
Creating harbor-log ... done
Creating registry      ... done
Creating redis         ... done
Creating harbor-portal ... done
Creating registryctl   ... done
Creating harbor-db     ... done
Creating harbor-core   ... done
Creating harbor-jobservice ... done
Creating nginx             ... done
✔ ----Harbor has been installed and started successfully.----

此时就可以访问192.168.137.20了,输入用户名admin和默认密码登录

harbor 使用外部 redis harbor 部署_github