- 是VMware公司开源的企业级Docker Registry项目,其目标是帮助用户迅速搭建一个企业级的Docker Registry服务
- 以Docker的Registry(镜像仓库)为基础,提供了图形管理UI、基于角色访问控制(RRole Based AccessControl)、AD/LDAI们成以心审计日志(Auditlogging)等企业用户需求的功能,同时还原生支持中文。
- 的每个组件都是以Docker容器形式构建的,使用Docker-compose进行部署。
- Harbor实例之间进行复制(同步)
- LDAP/AD:Harbor可以集成企业内以有的AD/LDAP(类似一种映射表而AD域则是LDAP的实现),对已经存在的用户认证和管理
- web UI界面,友好显示
- Restful API:Harbor能够提供Restful API,便于与第三方管理进行交互集成
Harbor架构有六大核心组件:Proxy ,Registry,Core services,Databases,Job services,Log collector(Harbor-log)
Harbor 的每个组件都是以 Docker 容器的形式构建的,因此,使用 Docker Compose 来对它进行部署。
总共分为7个容器运行,通过在docker-compose.yml所在目录中执行 docker-compose ps 命令来查看, 名称分别为:nginx、harbor-jobservice、harbor-ui、harbor-db、harbor-adminserver、registry、harbor-log。
其中 harbor-adminserver 主要是作为一个后端的配置数据管理,并没有太多的其他功能。harbor-ui 所要操作的所有数据都通过 harbor-adminserver 这样一个数据配置管理中心来完成
vim /usr/local/harbor/harbor.cfg
第五行
hostname = 192.168.226.121
执行Harbor安装sh /usr/local/harbor/install.sh
登录Harbor仓库(默认账号:admin 默认密码:Harbor12345)
docker login -u admin -p Harbor12345 https://127.0.0.1
#上传镜像
#先将镜像打上标签
docker tag nginx 127.0.0.1/mogu/nginx:ssssl
docker push nginx 127.0.0.1/mogu/nginx:ssssl
#下载镜像
docker pull nginx
由于Docker Registry 交互默认使用的是 HTTPS,但是搭建私有镜像默认使用的是 HTTP 服务,所以与私有镜像交互时出现以下错误。
解决方案:在dockerserver文件中手动添加仓库服务器地址
vim /usr/lib/systemd/system/docker.service
添加 --insecure-registry 192.168.226.121
systemctl daemon-reload
systemctl restart docker
再次登录 docker login -u admin -p Harbor12345 http://192.168.226.121(当然如果你还是无法登录,建议去看下server有没有挂掉)
可以使用 docker-compose 来管理 Harbor。一些有用的命令如下所示,必须在与docker-compose.yml 相同的目录中运行。
docker-compose down -v
./prepare
docker-compose up -d
docker logout 192.168.226.121
#登入
docker login 192.168.226.121
#下载仓库镜像
docker pull 192.168.226.121/mogu/nginx:ssssl
docker-compose down -v
#如果需要重新部署,需要移除Harbor服务容器全部数据
#持久数据,如镜像,数据库等在宿主机的/data目录下,日志在宿主机的/var/log/Harbor目录下
rm -rf /data/database
rm -rf /data/registry
我们刷新下被同步的仓库