docker除了自己的registry仓库工具外,还有vmware出品的harbor,harbor集成了ui界面,用户级别认证,重要的是对镜像管理比较全面,可以删除镜像,下面是
简单的部署指南
首先:去harbor的github上下载源码包地址如下
https://github.com/vmware/harbor/
然后点击上面的releases去选择版本,版本的话,自己选择,选择喜欢的就行,最后选择正式版。
下载完后是一个tar包,解压缩后文件夹名字是harbor
进入harbor
cd harbor
然后开始安装,根据github官方页面上的安装指南来安装,在安装之前需要更改下配置文件,配置文件大部分简单明了,需要注意有以下几个方面
hostname = 172.17.3.12
这个不能写成127.0.0.1,可以单写成IP,那默认端口是80,如写成上面的话,默认端口是5000,这个端口要和后面生成的docker-compose.yml文件中对外映射端口
相同,否则会导致登陆失败和上传镜像失败。
ui_url_protocol = http
使用http模式传输,如果使用Https需要弄证书。
db_password = rootroot
数据密码设置,这里指的是mariadb的数据库密码
harbor_admin_password = a123456
这个是WEBUI界面的登陆密码,也就是默认管理员admin的密码
auth_mode = db_auth
认证模式,使用数据认证。
大致配置文件修改以上几个项目就可以了,然后执行初始化安装操作。
执行harbor文件夹内的install.sh脚本
./install.sh
会显示一系列信息,生成所需要的镜像,还有配置文件,docker-compoase.yml文件
最后会启动harbor所需的一系列容器,等提示完成后,我们就可以打开浏览器http://ip就可以访问了,用户名admin,密码就是刚才配置文件里配置的。
然后怎么使用仓库呢?
需要在docker的service文件里加上 --insecure-registry ip:端口,最后重启docker服务就好了
登陆仓库
docker login ip:端口
然后就登陆成功了。
如何更改默认端口?
需要修改2个地方,第一就是配置文件的hostname,和docker-compose.yml文件里的映射端口,两者必须一致,如果只修改了docker-compose.yml文件里的端口的话,会提示以下
错误
登陆后如何上传镜像?
首先需要在harbor的WEBUi界面创建一个项目
需要把项目设为公开
然后把需要上传的镜像命名为 ip:端口/项目名/镜像名:版本号 必须谨记。
然后就可以上传镜像了
我们再去WEBUI界面上去查看项目里就有该镜像了
点击左边的三个竖点可以删除该镜像
如何pull该镜像?
直接使用docker pull 就行
必须把项目仓库设为公开才可以所有人都可以下载,否则只有登录后才能下载。