一、Registry(私有仓库)1 私有仓库的作用2 私有仓库的分类二、Docker官方私有仓库制作三、vmware Harbor仓库安装和使用1 Harbor介绍2 Harbor功能3 安装和部署Harbor4 使用Harbor
Registry 用于保存docker镜像,包括镜像的层次结构和元数据。
2 私有仓库的分类
1、
sponsor Registry:第三方的Registry,供客户和Docker社区使用
2、 Mirror Registry:第三方的Registry,只让客户使用
3、 Vendor Registry:由发布Docker镜像的供应商提供的Registry
4、 Private Registry:通过设有防火墙和额外安全层的私有实体提供的Registry
在默认情况下,docker registry只支持https协议。
二、Docker官方私有仓库制作
1、仓库服务器安装registry
yuminstalldocker-registry
2、仓库服务器查看配置文件
/etc/docker-distrbution/registry/config.yml
默认端口为:5000
3、仓库服务器开启docker-instribution服务
systemctlstartdocker-instribution
4、客户端修改配置文件,添加参数,以支持非https上传镜像
vim/etc/docker/daemon.json
"insecure-registries":["node02.arppinging.com:5000"]
5、客户端上传镜像
5.1 客户端对镜像打上合理的tag,其中顶级目录应可用。(比如我的服务器域名为 node2.arppinging.com ),那么我的tag应该是
node2.arppinging.com:5000/xxx:xxx
dockertagmyweb:v0.3-10node02.arppinging.com:5000/myweb:v0.3-11
5.2 客户端上传镜像
dockerpushnode02.arppinging.com:5000/myweb:v0.3-11
上传的镜像会被保存在仓库服务器的
/var/lib/registry/docker/registry/ 目录下
6、下载镜像
dockerpullnode02.arppinging:5000/myweb:v0.3-11
三、vmware Harbor仓库安装和使用
1 Harbor介绍
Harbor是一个开源的私有仓库项目,支持多用户管理、访问控制、目录监控、复制(冗余备份)等。
2 Harbor功能
1、支持多用户
2、支持安全和风险扫描
3、审计日志
4、标识、基于角色的访问控制
5、支持镜像之间的复制
6、支持扩展的API和图形用户界面
7、支持英文和中文
3 安装和部署Harbor
1、下载Harbor
wgethttps://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.1.tgz
2、解压
[root@node2harbor]#tarxfharbor-offline-installer-v1.7.1.tgz
3、将解压后的文件复制到
/usr/local/ 目录下
[root@node2tmp]#cp-arfharbor//usr/local/
4、修改配置文件
修改hostname为域名 node2.arppinging.com
可以修改admin密码和db_passwd密码,自动创建数据库容器时,密码也会相应改变。
5、安装docker-compose
[root@node2harbor]#yuminstall-yepel-release
[root@node2harbor]#yuminstalldocker-compose-y
验证:
[root@node2~]#docker-compose-v
docker-composeversion1.18.0,build8dd22a9
[root@node2~]#
6、在Harbor目录下执行安装脚本
./install.sh
4 使用Harbor
1、登录harbor
http://ip,默认用户名和密码为admin/Harbor12345
2、新建普通用户
3、使用普通用户登陆后,新建一个仓库
4、仓库管理
5、客户端上传镜像
5.1 客户端修改配置文件
[root@node1~]#cat/etc/docker/daemon.json
{
"registry-mirrors":["https://registry.docker-cn.com"],
"insecure-registries":["node2.arppinging.com"]
}
[root@node1~]#
5.2 重启客户端服务
[root@node1~]#systemctlrestartdocker
5.3 客户端登录仓库
[root@node1~]#dockerloginnode2.arppinging.com
Username:arppinging
Password:
WARNING!Yourpasswordwillbestoredunencryptedin/root/.docker/config.json.
Configureacredentialhelpertoremovethiswarning.See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
LoginSucceeded
5.4 客户端对镜像打tag
[root@node1~]#dockertagmyweb:v0.3-10node2.arppinging.com/devel/myweb:v0.3-10
[root@node1~]#dockertagmyweb:v0.3-8node2.arppinging.com/devel/myweb:v0.3-8
5.5 客户端上传镜像
root@node1~]#dockerpushnode2.arppinging.com/devel/myweb
Thepushreferstorepository[node2.arppinging.com/devel/myweb]
e8f1b15bb8ac:Pushed
0f67d3e10c03:Pushed
59b059d445c1:Pushed
0246bb21855f:Pushed
42acf078bf60:Pushed
7bff100f35cb:Pushed
v0.3-10:digest:sha256:c984d65975ced35ab270c734d726679efcdd0178c20417c91302899b021aa6casize:1568
9193a29e460b:Pushed
f785ecaa8521:Pushed
59b059d445c1:Layeralreadyexists
0246bb21855f:Layeralreadyexists
42acf078bf60:Layeralreadyexists
7bff100f35cb:Layeralreadyexists
v0.3-8:digest:sha256:7f2bb798d7b6b6b5c7ddc4d9f70c15553cdfba286be7116c89e9b589eb8fb04dsize:1568
[root@node1~]#
5.6 web端查看仓库内容