简介
Harbor是Vmware开源的企业级Docker Registry管理项目,docker-registry外,提供管理UI,基于角色的访问控制,日志审核等功能。
Harbor的所有组件都在Docker中部署,使用Docker compose 可以快速部署和管理。
安装步骤
1,环境准备
Harbor需要python 2.7 以上版本,Docker 1.10以上版本,Docker compose 1.6以上版本。这里选择CentOS7.2
2,安装启动docker
# 安装docker
$ sudo yum install docker
# 修改存储路径
$ sudo echo '{"graph": "/data/docker"}' > /etc/docker/daemon.json
# 启动docker daemon
$ sudo systemctl start service
$ sudo systemctl enable docker
3,安装docker-compose
$ sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
# 验证安装结果
$ sudo docker-compose --version
docker-compose version 1.16.1, build 6d1ac21
4,安装并启动harbor
Harbor官方提供在线安装和离线安装两种方式,从github下载harbor离线安装包:
$ wget https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz -O harbor-offline-installer-v1.2.0.tgz
$ tar xf harbor-offline-installer-v1.2.0.tgz -C /opt/
修改配置harbor.cfg,配置文件的注释提供了很多更高级的用法,包含https、ldap、邮箱配置等,这里我们只修改hostname为本机内网IP。
执行harbor安装:
$ cd /opt/harbor
$ ./install.sh
install.sh包含四步:
- loading Harbor images
- preparing environment
- checking existing instance of Harbor
- starting Harbor
完成安装后提示:
✔ ----Harbor has been installed and started successfully.----
通过docker ps 命令可以查看容器信息,通过docker-compose ps 可以查看编排信息:
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3095a5bb81e4 vmware/harbor-jobservice:v1.2.0 "/harbor/harbor_jobse" 13 hours ago Up 13 hours harbor-jobservice
ef7f8400663e vmware/nginx-photon:1.11.13 "nginx -g 'daemon off" 13 hours ago Up 13 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp nginx
3c89da45d3f0 vmware/harbor-ui:v1.2.0 "/harbor/harbor_ui" 13 hours ago Up 13 hours harbor-ui
d46ac994f6f7 vmware/harbor-adminserver:v1.2.0 "/harbor/harbor_admin" 13 hours ago Up 13 hours harbor-adminserver
bde94644c2ce vmware/harbor-db:v1.2.0 "docker-entrypoint.sh" 13 hours ago Up 13 hours 3306/tcp harbor-db
8dc825c41d6f vmware/registry:2.6.2-photon "/entrypoint.sh serve" 13 hours ago Up 13 hours 5000/tcp registry
00033d665654 vmware/harbor-log:v1.2.0 "/bin/sh -c 'crond &&" 13 hours ago Up 13 hours 127.0.0.1:1514->514/tcp harbor-log
$ sudo docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------------------------------------------
harbor-adminserver /harbor/harbor_adminserver Up
harbor-db docker-entrypoint.sh mysqld Up 3306/tcp
harbor-jobservice /harbor/harbor_jobservice Up
harbor-log /bin/sh -c crond && rm -f ... Up 127.0.0.1:1514->514/tcp
harbor-ui /harbor/harbor_ui Up
nginx nginx -g daemon off; Up 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp,
0.0.0.0:80->80/tcp
registry /entrypoint.sh serve /etc/ ... Up 5000/tcp
至此,Harbor已经完成安装并启动服务,用户可以通过浏览器注册登录。