一、Docker基础知识
-
Docker镜像是由一系列只读层组成的。这些层是文件系统的快照。所有容器共享镜像层,而不是复制整个镜像。
-
**"内核级虚拟"**的核心就是:不搞"重复造轮子"。
传统虚拟机是"每个住户自带一套完整的水电暖系统",而Docker容器是"整栋楼共用一套高效的水电暖系统(宿主机内核),我只是用坚固的墙(Namespace )和智能水电表(Cgroups)把每个房间隔开,并限制它们的用量。"
正是这种"共享内核"的设计,让Docker容器如此轻量、快速和高效。
-
Namespace(命名空间):负责"隔离"。它让容器里的进程以为自己是这个环境里唯一的主角。每个容器看到自己独立的进程树、网络栈、用户ID、挂载点等,就像住进了自己独立的房间,看不到隔壁房间。
-
Cgroups(控制组):负责"限制"。它确保每个容器只能使用分配给它的一定量资源(比如最多用1个CPU核心、512MB内存),防止一个坏容器把大楼的水电全吃光。
-
我们日常下载的docker包括客户端和服务端。

- 客户端负责接收指令并发给服务端。
- 服务端是后台静默运行的守护进程,是真正干活的引擎,负责拉取镜像,创建和运行容器。
二、Docker和虚拟机区别

