首页 > 其他 > 详细

docker零基础第三篇: 容器底层实现技术

时间:2019-11-06 16:40:06      阅读:86      评论:0      收藏:0      [点我收藏+]

容器底层实现技术: cgroup  , namespace ,  unionfs

 

1.cgroup 实现了资源的限额:CPU,内存,硬盘
2.namespace 实现了资源隔离
3.unionfs 联合文件系统

cgroup实例:

 # docker run -d -m 100M httpd      -----------实现了对内存的限额

namespace:

Linux 使用了六种 namespace,分别对应六种资源:Mount、UTS、IPC、PID、Network 和 User

  1. Mount namespace :  Mount namespace 让容器看上去拥有整个文件系统
  2. UTS namespace : UTS namespace 让容器有自己的 hostname。 默认情况下,容器的 hostname 是它的短ID,可以通过 -h 或 --hostname 参数设置。
  3. IPC namespace : 让容器拥有自己的共享内存和信号量(semaphore)来实现进程间通信,而不会与 host 和其他容器的 IPC 混在一起
  4. PID namespace : 容器在 host 中以进程的形式运行。容器内进程的 PID 不同于 host 中对应进程的 PID,容器中 PID=1 的进程当然也不是 host 的systemd进程。也就是说:容器拥有自己独立的一套 PID,这就是 PID namespace 提供的功能。
  5. Network namespace : 让容器拥有自己独立的网卡、IP、路由等资源。

  6. User namespace : 让容器能够管理自己的用户,host 不能看到容器中创建的用户。

 

 

docker零基础第三篇: 容器底层实现技术

原文:https://www.cnblogs.com/birdyw/p/11805878.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!