服务器
    作者:鲁畅

    开发漫谈:千万别说你不了解Docker!

         [ 中关村在线 原创 ] 暂无评论

      其实如果要谈论Docker的安全性,我们就要谈论三点:命名空间(Namespace);Docker程序本身的抗攻击性和加固内核安全性来影响容器的安全性。

    Docker入门白皮书:总能找到你想要的
    企业对Docker是否认可?安全是关键

      1、命名空间(Namespace):Docker有五个命名空间:进程、网络、挂载、宿主和共享内存,为了隔离有问题的应用,Docker运用Namespace将进程隔离,为进程或进程组创建已隔离的运行空间,为进程提供不同的命名空间视图。这样,每一个隔离出来的进程组,对外就表现为一个container(容器)。需要注意的是,Docker让用户误以为自己占据了全部资源,但这并不是"虚拟机"。

      内核namesapce从内核2.6.15之后被引入,距今已经5年了,在很多大型生产系统中被验证。他们的设计和灵感提出的时间更早,openvz项目利用namespace重新封装他们的内核,并合并到主流内核中。openvz最早的版本是2005年的,所以他们的设计和实现都很成熟。

      2、Docker程序本身的抗攻击性:Docker允许你在主机和容器之间共享文件夹,这就容易让容器突破资源限制,那么容器就可以对主机做任何更改了。但实际上,几乎所有虚拟机系统都有在物理主机和虚拟机之间共享资源的限制,所以这一层的安全性,需要你自己把控。

      3、加固内核安全性:默认情况下,Docker启动的容器只使用一部分内核capabilities,就算攻击者在容器中取得了root权限,他能做的破坏也少了,也不能获得主机的更高权限。

      由此我们可以说:Docker还是比较安全的,但是你要注意使用在容器中使用非root权限允许进程。

      目前来说,Docker的主要应用场景为:

      面向开发人员:快速开发、交付应用程序。开发环境的机器通常内存比较小,之前使用虚拟的时候,经常需要为开发环境的机器加内存,而现在Docker可以轻易的让几十个服务在Docker中跑起来。

      面向运维人员:降低运维成本。正如通过虚拟机来整合多个应用,Docker隔离应用的能力使得Docker可以整合多个服务器以降低成本。Docker通过镜像机制,将你的代码和运行环境直接打包成镜像,扔到容器启动即可。

      面向企业:Docker本身就发家于PaaS,在Docker面向企业,是可以提供Paas层的实现;比如,扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

    Docker入门白皮书:总能找到你想要的
    Docker"集装箱"  

    标签:服务器
    提示:支持键盘“← →”键翻页
    本文导航

    关注排行榜

    产品品牌

    文章推荐

    互动沙龙

    相关内容 网友评论 返回首页
    专家咨询