Harbor概述
Harbor是由VMWare公司开源的容器镜像仓库,事实上,Harbor是在docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用。
这些新的企业级特性包含:管理用户界面,基于角色的访问控制,AD/LDAP集成,审计日志等,足以满足企业的基本需求
官方地址:https://vmware.github.io
Harbor组件:
- harbor-adminserver:配置管理中心
- harbor-db:Mysql数据库
- harbor-jobservice:负责镜像复制
- harbor-log:记录操作日志
- harbor-ui:Web管理页面和API
- nginx:前端代理,负责前端页面和镜像上传/下载转发
- redis:会话保持
- registry:镜像存储
Harbor安装有3种方式:
- 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
- 离线安装:安装包包含部署的相关镜像,因此安装包比较大
- OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbo
Harbor部署
这边部署是采用离线安装,安装包事先下载好的
解压harbor压缩包
tar -zxvf harbor-offline-installer-v1.6.1.tgz
cd harbor
在harbor里面有几个比较重要的文件
prepare:部署前的准备工作脚本
install.sh:安装脚本
harbor.cfg:harbor的主配置文件
docker-compose.yml:docker-compose的配置文件,因为harbor需要安装docker-compose
安装docker-compose
第一种方式安装(官方的安装方式)
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
##如果网络不好,推荐第二种安装
第二种办法安装(离线安装,事先下载好)
cp -a docker-compose-Linux-x86_64 /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
安装先,修改harbor.cfg配置文件
vim harbor.cfg
hostname = 192.168.31.180
##修改这行为IP地址或域名
安装harbor
./prepare
./install.sh
测试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
进入web界面
本地IP就可以直接进入
默认账号:admin
默认密码:Harbor12345
harbor的简单实例
创建用户
用户管理-->创建用户
创建项目
项目-->新建项目
给用户授权新建的项目
项目-->qqkj-->成员-->+用户
配置http镜像仓库信任
修改daemon.json文件配置
vim /etc/docker/daemon.json
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"],
"insecure-registries":["192.168.31.105"]
}
或
{"insecure-registries":["reg.ctnrs.com"]}
##第一条,是因为我事先有配置了docker的加速器
重启docker
systemctl restart docker
启动harbor的组件
docker-compose up -d
给要上传的镜像打标签
如果不打标签,会默认上传到docker的公共镜像仓库中
docker tag nginx:1 192.168.31.180/qqkj/nginx:v1
登录认证harbor仓库
帐号密码是harbor仓库新创建的账号
docker login 192.168.31.105
上传镜像到harbor仓库中
docker push 192.168.31.105/qqkj/nginx:v1
从harbor仓库拉取镜像
docker pull 192.168.31.1065/qqkj/nginx:v1
转载请注明原文链接:容器第一天学习之-docker之Harbor企业级镜像仓库
共有 0 条评论