docker企业级镜像仓库Harbor管理
Harbor概述
Harbor是由VMWare公司开源的容器镜像仓库。事实上,Harbor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制,AD/LDAP集成及审计日志等,足以满足基本企业需求。
官方地址
https://vmware.github.io/harbor/cn/
harbor在GitHub上的地址
https://github.com/goharbor/harbor
Harbor组件 功能
harbor-adminserver 配置管理中心
harbor-db MySQL数据库
harbor-jobservice 负责镜像复制
harbor-log 记录操作日志
harbor-ui Web管理页面和API
nginx 前端代理,负责前端页面和镜像上传 下载转发
redis 会话
registry 镜像存储
Harbor安装部署
Harbor安装有3种方式:
• 在线安装:Docker Hub下载Harbor相关镜像,因此安装软件包非常小
• 离线安装:安装包包含部署的相关镜像,因此安装包非常大
• OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbor
安装Harbor之前需要先安装 docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
安装Harbor
##下载离线包
wget https://github.com/goharbor/harbor/releases/download/v1.10.1/harbor-offline-installer-v1.10.1.tgz
tar xvf harbor-offline-installer-v1.10.1.tgz
cd harbor
##修改harbor.cfg文件内容
vi harbor.cfg
hostname = ip地址或者域名
ui_url_protocol = http
harbor_admin_password = 123456
./prepare
./install.sh
安装完毕,用docker-compost 启动和查看服务
docker-compose start ##启动服务
[root@server harbor]# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver /harbor/start.sh Up (healthy)
harbor-db /entrypoint.sh postgres Up (healthy) 5432/tcp
harbor-jobservice /harbor/start.sh Up
harbor-log /bin/sh -c /usr/local/bin/ ... Up (healthy) 127.0.0.1:1514->10514/tcp
harbor-ui /harbor/start.sh Up (healthy)
nginx nginx -g daemon off; Up (healthy) 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcp
redis docker-entrypoint.sh redis ... Up 6379/tcp
registry /entrypoint.sh /etc/regist ... Up (healthy) 5000/tcp
====================================================
输入 http://10.0.0.81 进入Harbor管理界面
默认登录用户 admin 密码 Harbor12345
##创建用户并赋予权限