码迷,mamicode.com
首页 > 其他好文 > 详细

对docker隔离性的理解

时间:2015-08-26 20:20:19      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:docker 隔离

一、关于docker的隔离,有很多文章都有介绍。但docker没有隔离什么呢?

           SELinux、 Cgroups以及/sys、/proc/sys、/dev/sd*等目录下的资源是与宿主机共用的,而且多个container与宿主机共用同一个内核。所以说docker是弱隔离,他没有隔离的那么彻底,但如果要隔离的彻底那就是VM了,而且如果dockers要想实现这些隔离就必然要牺牲一下现在轻量级的特性。


二、以下是我对docker的隔离性的理解

       docker 通过什么实现隔离呢?通过内核的namespace,包括进程、网络、进程间通信信号、文件系统、用户等,不同的docker使用不同的namespace.

     1、进程的namespace, docker container里运行的进程的父进程是这个docker container的进程。这样不同的container 之间进程就被隔离开了。

     2、网络的namespace ,每个container 都有自己的虚拟网络设备,IP地址,路由。

     3、进程间交互的namespace,每个container 内的进程可以实现进程进的信号、共享内存、消息队列的交互

     4、mnt的namespace ,不同的namespacer进程看到的文件结构是不同的

     5、UTS 的namespace ,不同的container 可以有自己的hostname和domainame

     6、用户的namespae,每个container可以有自己的用户和用户分组



本文出自 “一路运维” 博客,请务必保留此出处http://zhangkechen.blog.51cto.com/907591/1688521

对docker隔离性的理解

标签:docker 隔离

原文地址:http://zhangkechen.blog.51cto.com/907591/1688521

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!