Docker 使用 Linux 的命名空间(Namespace)和控制组(Cgroup)实现容器隔离。命名空间提供进程、网络、文件系统、用户等隔离:PID namespace(进程隔离)、NET namespace(网络隔离)、MNT namespace(文件系统隔离)、UTS namespace(主机名隔离)、IPC namespace(进程间通信隔离)、USER namespace(用户隔离)。Cgroup 用于资源限制和监控,可以限制 CPU、内存、磁盘 I/O 等资源使用。这些技术确保容器之间相互隔离,同时共享宿主机内核。