赞
踩
一次docker pull 背后的发生的事情:
下载一个镜像----->在index服务上做认证,查找镜像所在的registry的地址----->
放回docker客户端----->从registry下载镜像----->去index校验客户端token的合法性
----->返回registry仓库拉取镜像----->镜像存储在docker客户端
【备注】:不同的镜像可以保存在不同的registry服务上,其索引信息都放在index服务上。
- docker registry有三个角色,分别是index、registry、registry client。
- index :负责并维护有关用户帐户、镜像的校验以及公共命名空间的信息。 Web UI ,元数据存储, 认证服务 ,符号化
- registry: 是镜像和图表的仓库,它不具有本地数据库以及不提供用户认证,通过Index Auth service的Token的方式进行认证。
- Registry Client Docker:充当registry客户端来维护推送和拉取,以及客户端的授权
docker hub虽然方便,但是还是有限制需要internet连接,速度慢 ,所有人都可以访问,不安全。
好消息是docker公司已经将registry开源,我们可以快速构建私有仓库。
###1.下载镜像文件###
(自己下载的镜像文件,需要在向docker中导一次,registry2是新版本)
###2.从仓库拉取镜像###
(直接从远端docker仓库拉取的镜像,直接导入docker服务中)
(看到端口是5000,数据卷是/var/lib/registry)
[root@server1 ~]# docker run -d --name registry -p 5000:5000 -v /opt/registry:/var/lib/registry registry:2
本地镜像在命名时,需要加上仓库的ip和端口
(使用镜像加速器后,上传速度非常快)
- 或者
- [root@server1 ~]# yum install -y tree ##安装树结构
(分层存储)
<
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。