1.Docker仓库介绍:

(1)Docker官方仓库

docker官方仓库:Docker Hub https://www.docker.com

Docker运行中使用的默认仓库是Docker Hub公共仓库,里面存储了各类的镜像

Docker Hub是世界上最大的容器图像存储库,包含一系列内容源,包括容器社区开发人员、开源项目和独立软件供应商在容器中构建和分发代码。用户可以访问用于存储和共享图像的免费公共存储库,也可以选择私人回购的订阅计划。

用来保存镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具有不同tag的镜像,自己创建的镜像,不仅可以在本地使用,并且可以上传到Docker仓库

用户通过编写Dockerfile,bulid创建以后生成镜像–>镜像可以用来创建容器–>容器提交给镜像,通过Push将此镜像上传到仓库中

docker 仓库 企业 docker官方仓库_docker

Registry仓库工作原理
1.当用户要获取并下载镜像时
工作流程为:
用户发送请求到index
index 响应返回客户端信息:所请求的镜像在registry具体存放位置以及授权认证信息
用户通过响应中返回的Token和registry沟通, 所有的镜像全部存储在registry主机
registry现在要与index证实该token是被授权的
index会发送“true” 或者 “false”给registry,确定认证是否有效
registry将请求的镜像数据发送给客户端

2.用户要推送镜像到registry
工作流程为:
用户发送带请求到index要求分配库名
在成功认证,命名空间可用以及库名被分配之后。index响应返回临时的token。
镜像连带token,一起被推送到registry中
registry现在要与index证实该token是被授权的
index会发送“true” 或者 “false”给registry,确定认证是否有效
然后客户端将镜像数据传送到registry指定的库中

3.用户从index或者registry中删除镜像
工作流程为:
index接收来自Docker一个删除库的信号
如果index验证库成功,它将删除该库,并返回一个临时token
然后客户端前往registry,registry现在接收到带有该token的删除信号
registry与index核实该token,然后删除库以及所有相关信息
index会发送“true” 或者 “false”给registry,确定认证是否有效
Docker现在通知有关删除的index,然后index移除库的所有记录

拉取以及上传镜像
docker search #查询镜像
docker pull 镜像名称 # 从官方仓库拉取镜像
docker push 镜像名称 # 上传镜像到官方仓库

Aufs是Another Union File System的缩写,支持将多个目录挂载到同一个虚拟目录下。
已构建的镜像会设置成只读模式,read-write写操作是在read-only上的一种增量操作,固不影响read-only层。
这个研究有一个好处,比如我们现在可以看到手机里面的APP,在命令里面都会用APP字段下回来,在下回来之前它就是一个静态的,
我们没有往里面写东西,但是我们启动起来以后,我们就可以往里面写东西,进行各种各样的操作。
但是如果我们把它关掉了以后,或者删除了以后,它的这个镜像是存在远端的,所以在这个镜像里面是不会去修改的。
并且这样也会有一个非常好的地方,这个场景非常适合我们去实现测试环境,因为我们的测试环境经常会有一个操作就是灌数据,
我们可以提前把这个镜像数据打包到测试里面,那么这个镜像软件里面包含了,最上面是nginx,
比如它里面会有一些数据,我们可以在往上面打一层数据,打完之后把它起成一个容器就可以去测试,
测试完之后这个容器里面会生成各种各样的数据,也就是脏数据,这样的话,我们就可以把这个容器删掉,
删掉以后我们镜像里面的容器是不会受影响的。
如果说它想再创建一套,我们可以把这个镜像再启一个容器,就可以是一个一模一样的,并且是一个干净的环境。

阿里云镜像加速器的配置

 一般情况下,直接从官方仓库中直接拉取镜像会比较慢,可以设置设置镜像加速器,相当于一个反向代理。以阿里云为例

(1)注册阿里云帐号

浏览器阿里云的镜像中心–>点击控制台–>产品与服务–>容器镜像服务

–>镜像加速器----> 得到一个进行加速取地址

docker 仓库 企业 docker官方仓库_docker_02


docker 仓库 企业 docker官方仓库_docker_03


配置docker daemon文件

[root@server1 ~]# vim /etc/docker/daemon.json
 [root@server1 ~]# cat /etc/docker/daemon.json
 {
 “registry-mirrors”:[“https://k5amvqgy.mirror.aliyuncs.com”]
 }
 [root@server1 ~]# systemctl daemon-reload
 [root@server1 ~]# systemctl restart docker

docker 仓库 企业 docker官方仓库_docker_04


测试加速器

[root@server1 ~]# docker pull nginx ##从官方拉取镜像,速度变快
 Using default tag: latest
 latest: Pulling from library/nginx
 b8f262c62ec6: Pull complete
 e9218e8f93b1: Pull complete
 7acba7289aa3: Pull complete
 Digest: sha256:aeded0f2a861747f43a01cf1018cf9efe2bdd02afd57d2b11fcc7fcadc16ccd1

Status: Downloaded newer image for nginx:latestdocker inspect nginx:latest 最新版本

docker 仓库 企业 docker官方仓库_docker 仓库 企业_05