一、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
浙公网安备 33010602011771号