Docker概念

  1. 传统虚拟机:虚拟出一套硬件,运行在一个完整的操作系统,在系统上运行所需应用进程.
  2. Docker:容器直接运行于宿主的内核.

依赖于Linux内核特性:Namespace和Cgroups(Control Group)

开发环境和部署环境相同,高效快速开发生命周期

使用场景:

容器进行开发->测试->部署服务.

 

 

Docker概念:

1.C/S架构  客户端–>守护进程 本地/远程

2.镜像  层叠的只读文件系统 –>联合加载

传统:root只读->引导性结束+完整性检查->读写

引导文件系统(引导后消除)->root文件系统(永远只读) ->联合加载

3.容器: 通过镜像启动(启动和执行阶段)

只读层复制到读写层副本,将源文件隐藏.写时复制.

4.仓库:镜像保存在仓库中

 

由多层文件系统联合组成.(后者依赖于前者)    分层存储架构.

1.镜像 特殊文件系统,包含配置参数.

2.容器  容器的实质是进程,容器运行在属于自己的命名空间.  (隔离的空间)

每一个容器运行时,以镜像为基础层,之上创建一个当前容器的存储层(容器存储层).

3.仓库(Docker Registry)

每个仓库包含多个标签,每个标签对应一个镜像.

+

<仓库名>:<标签>指定镜像的版本     ubuntu:14.04  ubuntu:latest 默认

集中地存储,分发镜像的服务.    (包含多个仓库)

  1. 公开服务:开放给用户使用和管理的Docker Registry
  2. Registry默认为:Docker Hub

 

 

 

Docker技术

  1. Namespaces命名空间    轻量级虚拟化

<1>PID   进程隔离

<2>Net   管理网络接口

<3>IPC    管理跨进程通信访问

<4>MNT  管理挂载点

<5>UTS  隔离内核和版本标识

2.Control groups控制组    管理隔离进程组

<1>资源限制

<2>优先级设置

<3>资源计量

<4>资源控制    (进程的隔离)

3.使用

1.文件系统隔离:容器都有自己的root文件系统

2.进程隔离:运行在自己的进程环境中

3.网络隔离:容器间虚拟网络接口和IP地址分开

4.资源隔离和分组:cgroups单独分配CPU和内存

你可能感兴趣的:(Docker)