我们必须高度重视开源软件的安全问题,当开发者在使用Docker时,从本地构建应用程序到生产环境部署是没有任何差异的(译者注:作者的言外之意是更应该重视Docker的安全问题)。当Docker被越来越多的平台使用的时候,我们需要严格保证Docker作为一个项目或者平台的安全性。
因此,我们决定在Docker系列教程的第五篇来讨论Docker安全性的相关问题以及为什么会它们影响到Docker的整体安全性。由于Docker是LXC的延伸,它也很容易使用LXC的安全特性。
在本系列的第一篇文章中,我们知道docker run
命令可以用来运行容器。那运行这个命令后,Docker做了哪些具体的工作呢?具体如下:
docker run
命令初始化。
对于那些不知道namespace和control groups的概念的读者,我在这里先给他们解释一下:namespace是隔离的第一级,容器是相互隔离的,一个容器是看不到其它容器内部运行的进程情况(译者注:namespace系列教程可以阅读DockerOne上的系列教程)。每个容器都分配了单独的网络栈,因此一个容器不可能访问另一容器的sockets。为了支持容器之间的IP通信,您必须指定容器的公网IP端口。
Control Groups是非常重要的组件,具有以下功能:
Docker Daemon以root权限运行,这意味着有一些问题需要格外小心。
下面介绍一些需要注意的地方:
一些关键的Docker安全特性包括:
用于管理与授权和安全相关的几个进程,Docker提供REST API。以下表格列出了关于此API用于维护相关安全功能的一些命令。
转载请注明:靠谱运维 » Docker入门教程学习(五)Docker安全