Harbor介绍
Harbor被部署多个docker容器(多个docker容器组成),统称为harbor,因此可以部署在任何支持Docker的Linux发行版本上。
Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等,足以满足基本企业需求。
Harbor是一个docker私有仓库构建程序,功能非常强大
1、支持多租户签名和认证
2、支持安全扫描和风险分析
3、支持日志审计
4、基于角色的访问控制
5、支持可扩展的API和GUI
6、Image replication between instances
7、国际化做的很好
部署Harbor
将docker-compose复制到/usr/local/bin/目录下
[root@server1 ~]# cp -p docker-compose /usr/local/bin/
[root@server1 ~]# chmod +x /usr/local/bin/docker-compose
上传harbor-offline-installer-v1.2.2.tgz到root目录下解压
[root@server1 ~]# tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local
修改Harbor参数文件
[root@server1 ~]# vim /usr/local/harbor/harbor.cfg
执行安装脚本
[root@server1 ~]# cd /usr/local/harbor/
[root@server1 harbor]# ./install.sh
Harbor图形化管理
账户密码默认为admin/Harbor12345
打开浏览器输入IP地址登陆UI界面
[root@server1 harbor]# docker pull tomcat
[root@server1 harbor]# docker tag tomcat:latest 127.0.0.1/liuwei/tomcat:v1
新建一个项目liuwei
上传镜像
[root@server1 harbor]# docker push 127.0.0.1/liuwei/tomcat:v1
登录网页查看是否上传成功
客户端远程访问管理Harbo仓库
[root@server2 ~]# docker login -u admin -p Harbor12345 http://192.168.110.10
必须要先指定私有仓库的地址
[root@server2 ~]# vi /usr/lib/systemd/system/docker.service
在此行后面添加
重启服务
[root@server2 ~]# systemctl daemon-reload
[root@server2 ~]# systemctl restart docker.service
登录
[root@server2 ~]# docker login -u admin -p Harbor12345 http://192.168.110.10
下载、上传镜像到私有仓库
下载nginx镜像
Nginx镜像打标签
[root@server2 ~]# docker tag nginx:latest 192.168.110.10/liuwei/nginx:v2
上传镜像
[root@server2 ~]# docker push 192.168.110.10/liuwei/nginx
打开网页查看
上传成功
Harbor管理维护
修改harbor.cfg配置文件,先停止现有的Harbor实例并更新harbor.cfg中的配置,然后再运行prepare脚重新加载配置,最后重新创建并且启动harbor的实例。
修改配置文件前先关闭所有容器
[root@server1 harbor]# docker-compose down -v
##移除Harbor服务器同时保留镜像数据/数据库
如需重新部署,需要移除Harbor服务容器全部数据,持久数据,如镜像,数据库等在宿主机的/data目录下,日志在宿主机的/var/log/Harbor下
rm -rf /data/database/
rm -rf /data/registry/
修改配置参数看实际需求
重新加载配置文件,重启服务
[root@server1 harbor]# ./prepare
重启docker服务
[root@server1 harbor]# systemctl restart docker
启动容器服务
[root@server1 harbor]# docker-compose up -d
UI界面操作
创建新用户liuwei,记住创建的密码,稍后使用
在项目里添加新的用户成员
在server2上,使用新用户远程登陆harbor,来进行下载和上传镜像
先退出已登陆的账号
[root@server2 ~]# docker logout http://192.168.110.10
使用新的账户登陆
[root@server2 ~]# docker login http://192.168.110.10
Username: liuwei
Password:
下载仓库内的镜像
[root@server2 ~]# docker pull httpd
打标签
[root@server2 ~]# docker tag httpd:latest 192.168.110.10/liuwei/httpd:v3
上传镜像到私有仓库
[root@server2 ~]# docker push 192.168.110.10/liuwei/httpd:v3
上传成功