Docker学习总结(64)——快速理解 Docker 底层原理

Posted 科技D人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker学习总结(64)——快速理解 Docker 底层原理相关的知识,希望对你有一定的参考价值。

前言

宿主机就好比一间大房子,Docker 把它成了 N 个小隔断。在这些小隔断之间,有独立的卫生间、小床、电视。麻雀虽小,五脏俱全,这个比喻非常的贴切。Linux 提供了非常全面的隔离机制,使得每个小隔间互不影响。即使隔壁小间满室春光,我的小房间一样的冷清,对我毫无影响。Docker 能实现这些功能,依赖于 chroot、namespace、cgroup 等三种老技术。

Linux 的内核,提供了多达 8 种类型的 Namespace。在这些独立的 Namespace 中,资源互不影响,隔离措施做的非常好。

8 种类型

我们先来看一下,Linux 都支持哪些 Namespace。可以通过 unshare 命令来观察到这些细节。

在终端执行 man unshare,将会出现这些 Namespace 的介绍:

  • Mount(mnt):隔离挂载点
  • Process ID (pid):隔离进程 ID
  • Network (net):隔离网络设备,端口号等
  • Interprocess Communication (ipc):隔离 System V IPC 和 P

以上是关于Docker学习总结(64)——快速理解 Docker 底层原理的主要内容,如果未能解决你的问题,请参考以下文章

Docker - 简单粗暴快速理解挂载与实战

Docker - 简单粗暴快速理解挂载与实战

Docker学习总结(62)——docker-compose.yml 详细说明

Docker学习总结(62)——docker-compose.yml 详细说明

docker学习6-docker-compose容器集群编排

10张图带你深入理解Docker容器和镜像