1.Harbor概述
Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的 企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访 问控制 ,AD/LDAP集成以及审计日志等,足以满足基本企业需求。
官方地址:https://vmware.github.io/harbor/cn/
组件 功能 harbor-adminserver 配置管理中心 harbor-db Mysql数据库 harbor-jobservice 负责镜像复制 harbor-log 记录操作日志 harbor-ui Web管理页面和API nginx 前端代理,负责前端页面和镜像上传/下载转发 redis 会话 registry 镜像存储
2.Harbor部署
Harbor安装有3种方式:
• 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
• 离线安装:安装包包含部署的相关镜像,因此安装包比较大
• OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbor
# tar zxvf harbor-offline-installer-v1.6.1.tgz
# cd harbor
# vi harbor.cfg
hostname = 10.206.240.188/域名
ui_url_protocol = http
harbor_admin_password = 123456 #默认密码为Harbor12345
# ./prepare
# ./install.sh
3. 基本使用
1、配置http镜像仓库可信任
# vi /etc/docker/daemon.json
{"insecure-registries":["reg.ctnrs.com"]}
# systemctl restart docker
2、打标签
# docker tag centos:6 reg.ctnrs.com/library/centos:6
3、上传
# docker push reg.ctnrs.com/library/centos:6
4、下载
# docker pull reg.ctnrs.com/library/centos:6
4.实战演练
1.安装Docker Compose
官网:https://docs.docker.com/compose/
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
2.Harbor部署
# tar zxvf harbor-offline-installer-v1.6.1.tgz -C /opt/
# cd /opt/harbor
# vi harbor.cfg
hostname = 192.168.16.120
ui_url_protocol = http
harbor_admin_password = Harbor12345
注:其实只需要更改hostname才可以使用harbor
# ./prepare
# ./install.sh
查看端口:
# netstat -tnlp|grep 80
开机自动启动:
# cat >>/etc/rc.d/rc.local<<EOF
cd /opt/harbor/ && docker-compose up -d
EOF
chmod +x /etc/rc.d/rc.local
3.配置Harbor
http://192.168.16.120
admin/Harbor12345
创建项目:ops、project 私有项目,library 公有项目
创建用户:denggao/P@ssw0rd
项目授权:角色 项目管理员
注:公共镜像仓库无需登录即可下载,登录才开上传。私有镜像仓库需要登录上传与下载。
4.配置http镜像仓库可信任
# vi /etc/docker/daemon.json
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"],
"insecure-registries":["192.168.16.120"]
}
# systemctl restart docker
5.推送镜像到镜像仓库
docker login 192.168.16.120 #公有私有仓库推送都需要认证 denggao/P@ssw0rd
docker tag php:v1 192.168.16.120/library/php:v1
docker push 192.168.16.120/library/php:v1
docker tag nginx:v1 192.168.16.120/library/nginx:v1
docker push 192.168.16.120/library/nginx:v1
docker tag tomcat:v1 192.168.16.120/library/tomcat:v1
docker push 192.168.16.120/library/tomcat:v1
6.下载镜像
docker pull 192.168.16.120/library/php:v1
docker pull 192.168.16.120/library/nginx:v1
docker pull 192.168.16.120/library/tomcat:v1
使用admin/Harbor12345登录,跳转如下界面
创建私有项目,名称分别为ops、project
创建用户
客户端配置http镜像仓库可信任,并推送镜像到镜像仓库即可。
最后其它docker客户端就可以是docker pull下载所需的镜像使用了。