zoukankan      html  css  js  c++  java
  • docker基本元素和底层实现

    docker是轻量级的操作系统虚拟化解决方案

    优点

    1、基于操作系统层面

    2、启动速度快(秒级)

    3、资源利用率高

    4、性能高、易管理

    docker有3大基本要素

    分别是

    1、镜像:只读模板,用来创建docker容器。

    2、容器:镜像创建的运行实例,启动时创建一层可写曾作为最上层。

    3、仓库:集中存放镜像文件场所,分私有仓库和公有仓库。

    docker的底层实现有

    1、名字空间:每个容器都有自己单独的名字空间,运行在其中的应用都像是在独立的操作系统中运行一样。名字空间保证了容器之间彼此互不影响。

      pid名字空间: 不同的用户进程就是通过pid名字空间隔离的,且不同名字空间可以有相同pid

      net名字空间: 网络隔离是通过net名字空间实现的。每个net名字空间有独立的网络设备,IP地址,路由表,/proc/net目录

      ipc名字空间: 进程间交互方法(IPC) 信息量、消息队列、共享内存

      mnt名字空间: 将一个进程放到一个特定的目录执行

      ufs名字空间: 独立的hostname、domainame

      user名字空间: 用容器内部的用户执行程序而非主机的用户

    2、控制组:对共享资源进行隔离、限制、审计等

    3、联合文件系统(AUFS):支持对文件系统的修改作为一次提交来一层层叠加、同时可以将不同目录挂载到同一虚拟文件系统下。镜像可以通过分层进行继承,基于基础镜像,可以制作各种具体应用镜像,不同容器可以共享一些基础的文件系统层。

    4、网络实现:docker启动时会在主机建立一个docker0的虚拟网桥,同时分配一个随机的本地为占用的私有网段给docker0,如172.16.0.0。启动容器时,创建veth pair接口,一端在容器内及eth0,一端被挂载到docker0,名称以veth开头。每次创建新容器时,从可用地址段选一个空闲IP分配给容器eth0端口。使用docker0接口IP做所有容器的默认网关。

  • 相关阅读:
    小白自动化测试指南
    分布式性能测试框架用例方案设想(二)
    高QPS下的固定QPS模型
    测试自动化最佳实践【译】
    moco框架接口命中率统计实践
    基于docker的分布式性能测试框架功能验证(一)
    编写高质量代码:Web前端开发修炼之道(一)
    JavaScript中点操作符和中括号操作符区别
    Vue脚手架生成及配置
    Npm设置淘宝镜像
  • 原文地址:https://www.cnblogs.com/lgh344902118/p/10538922.html
Copyright © 2011-2022 走看看