zoukankan      html  css  js  c++  java
  • docker架构的详解

    docker架构

    一.具体部分的详解:

    1.docker daemon

    docker daemon是常驻的后台程序

    docker server就是后台程序docker接受数据请求,然后交给route,路由给指定的容器,然后handler处理请求信息数据的(区分数据就是区分头部信息的类型,我请求的是什么类型的数据就去不同的服务器。)。然后交给docker engine,形成要给job任务。

     

    2.Graph驱动模块:

    Repostitory

    下载的镜像保存,

    GraphDB   

    容器与镜像关系的记录。

    镜像是不同层的文件组合,如果镜像相同的层有很多,只会合并成一份,如果有百度云盘,所有保存的电影其实在百度云上就一部。

     

    3.Driver模块:

    定制容器的环境,如:cpu多少,内存多少,硬盘多少,

    容器的生命后期根据程序的生命周期决定,运行什么驱动什么,从而提高容器运行的效率。

    driver模块的好处是需要什么驱动什么,提高容器运行的效率,如果没有网路的话,

    (1)graphdriver主要用于完成镜像的管理,存储,读取,下载下来的镜像的存储也是他,驱动存储镜像

     

    驱动不同的操作系统有不同的文件系统管理,

    driver存储结构:

    btrfs-deban

    vfs-centos

    aufs-ubuntu

    devmapper-gm

     

    (2)networkdriver

    bridge 桥接到docker0上,直接进到物理机上。把容器和桥接到docker0,然后通过docker 0 转给容器,只要放到物理机上就好。

     

    networkif 防火墙,路由等

    ip 地址

    port 端口

    属于容器内部操作,放到container上就行。

     

    (3)execdriver

    execdriver 容器的执行驱动,负责容器在创建空间是的命名规则和容器资源限制,native一共有两个分支,LXC (1.2版本以前) native(1.2以后)跨平台用,依赖于native ,可以控制任何一个操作系统上都可以分割namespace空间和cgroup结构,

     

    4. libcontainer模块

    正是由于libcontainer的存在,Docker可以直接调用libcontainer,而最终操纵容器的namespace、cgroups、apparmor、网络设备以及防火墙规则等

     

    5. container模块

    Docker container(Docker容器)是Docker架构中服务交付的最终体现形式

     

    6.rootfs模块

    目录结构

     

    二.详解总结:

    处理数据请求的叫docker daemon

    启动的也叫docker daemon

    docker daemon运行在后台程序的叫docker server

     

    需要对任务处理的叫docker engine

    处理docker engine需要从网上下载镜像,或者从本地拉取镜像,保存在本地的叫graph,graph分成两个部分,graphDB用来存储镜像之间的存储关系,graph images 用来存储镜像的。

     

    然后开始进行驱动,驱动分为三个部分进行驱动,第一个驱动是物理机启动时需要哪些目录结构,镜像所需要的目录结构,他直接启动的是rootfs,然后启动的是网路结构,networkdriver,让容器和物理机能连接起来,

    bridge:启动容器后会出现docker0,关闭后就会消失,真正通讯是容器桥接到docker0,相当于一个路由,然后在将docker0 桥接到物理网卡上。

    驱动对容器里边的东西进行驱动,IP network interface port

    execdriver 执行驱动:主要驱动不容系统里的namespaces和cgroup,最总把这个六个选项启动,开启了一个容器,然后在rootfs里打开一个容器。

     

     

  • 相关阅读:
    diary and html 文本颜色编辑,行距和其它编辑总汇
    bash coding to changeNames
    virtualbox ubuntu 网络连接 以及 连接 secureCRT
    linux 学习6 软件包安装
    linux 学习8 权限管理
    vim 使用2 转载 为了打开方便
    ubuntu
    linux 学习15 16 启动管理,备份和恢复
    linux 学习 14 日志管理
    linux 学习 13 系统管理
  • 原文地址:https://www.cnblogs.com/Leonardo-li/p/8821854.html
Copyright © 2011-2022 走看看