一、Docker 的基本组成

1、Docker Client 客户端

2、Docker Daemon 守护进程

3、Docker Image 镜像

4、Docker Container 容器

5、Docker Registry 仓库 

 

二、Docker容器相关技术简介

Docker 依赖的Linux内核特性

1、Namespaces 命名空间

       编程语言的namespace:

     封装 -->  代码隔离

       操作系统的namespace:

      系统资源的隔离

      进程、网络、文件系统……

  Docker使用的5种命名空间:

  (1)PID (Process ID)  进程隔离

  (2)NET (Network)     管理网络接口

  (3)IPC  (InterProcess Communication)   管理跨进程通信的访问

  (4)MNT (Mount)   管理挂载点

  (5)UTS (Unix Timesharing System)  隔离内核和版本标识

2、Control Groups (cgroups)控制组

   用来分配资源

      (1)资源限制

      (2)优先级设定

      (3)资源计量

      (4)资源控制 

3、Docker容器的能力

     (1)文件系统隔离:每个容器都有自己的root文件系统

   (2)进程隔离:每个容器都运行在自己的进程环境中

     (3)网络隔离:容器间的虚拟网络接口和IP地址都是分开的

   (4)资源隔离和分组:使用cgroups将CPU和内存之类的资源独立分配给每个Docker容器

三、Docker 的C/S模式

1、基本过程

  

2、通过 Remote API 与Docker守护进程进行通讯

 

3、Docker 客户端与守护进程通过socket 进行连接,docker提供了三种方式进行socket连接的方式:

  (1)unix:///var/run/docker.sock   (默认)

  (2)tcp://host:port

  (3)fd://socketfd

 

4、演示

  a、通过  ps -ef | grep docker 查看守护进程 

  b、docker version 可以查看版本

  c、socket连接 nc -V /var/run/docker.sock

  输入  GET /info HTTP/1.1

  会返回docker 的相关信息

  

 

四、Docker 常用命令

1、查看docker守护进程的运行状态       

   (1) ps -ef | grep docker

   (2) systemctl status docker.service

2、docker 守护进程的停止、开启、重启

   (1) systemctl stop docker.service

   (2) systemctl start docker.service

      (3) systemctl restart docker.service

 

 

 

   

posted on 2016-05-30 14:44  BGGANF  阅读(123)  评论(0)    收藏  举报