Docker1(Docker基础知识)

1、Docker的解释

一种虚拟化方案
操作系统级别虚拟化
只能运行相同或相似内核的操作系统
依赖于Linux内核特性:Namespace和Cgroups(Control Group)

  优点:

2、什么是Docker?

将应用程序自动部署到容器
Go语言开源引擎 Github地址:https://github.com/docker/docker

3、Docker的目标

提供简单轻量的建模方式
职责的逻辑分离
快速高效的开发生命周期
鼓励使用面向服务的架构

4、Docker的基本组成

Docker client 客户端【C/S架构程序】
Docker Daemon 守护进程
Docker Image 镜像
    容器的基石
    层叠的只读文件系统
    联合加载技术(union mount)
Docker Container 容器
    通过镜像启动
    启动和执行阶段【第一次启动初始的读写层是空的】
    重要技术
        写时复制(copy on write)
Docker Registry 仓库
    保存用户构建的镜像
    分为:
        公有:Docker Hub
        私有:自行创建

  图例

5、Docker依赖的Linux内核特性

Namespaces 命名空间

    编程语言
        封装-----》代码隔离
    操作系统
        系统资源的隔离
        进程、网络、文件系统
    Namespaces的五种命名空间
    
        PID( Process ID) 进程隔离
        NET( Network) 管理网络接口
        IPC( Interprocess Communication) 管理跨进程通信的访问
        MNT( Mount) 管理挂载点
        UTS( Unix Timesharing System) 隔离内核和版本标识
        
Control groups ( groups)控制组

    定义:用来限制记录和隔离进程组所使用物理资源的机制
    来源:与Google
    提供的基础控制组
        资源限制
        优先级设定
        资源计量
        资源控制

6、Docker容器的能力

文件系统隔离:每个容器都有自己的root文件系统
进程隔离:每个容器都运行在自己的进程环境中
网络隔离:容器器间的虚拟网络接口和IP地址都是分开的
资源隔离和分组:使用cgroups将CPU和内存之类的资源独立分配给每个Docker容器

 

posted @ 2018-07-21 00:00  争-渡  阅读(105)  评论(0)    收藏  举报