Fixed the wrong Chinese character 2

pull/9/head
Charles 2014-09-21 20:50:55 +08:00
parent 39ef881ace
commit 96b199aae2
7 changed files with 8 additions and 8 deletions

View File

@ -24,7 +24,7 @@ root@ac6474aeb31d:~# ip a
valid_lft forever preferred_lft forever
```
这样就可以把这个网络看成是一个私有的网络通过nat 连接外网,如果要让外网连接到容器中,就需要做端口映射,即-p参数更多原理参见本文第六小节
如果在企业内部应用,或做多个物理主机的集群,可能需要将多个物理主机的容器组到一个物理网络中来,那么就需要将这个网桥桥接到我们指定的网卡上。
如果在企业内部应用,或做多个物理主机的集群,可能需要将多个物理主机的容器组到一个物理网络中来,那么就需要将这个网桥桥接到我们指定的网卡上。
###拓扑图
主机A和主机B的网卡一都连着物理交换机的同一个vlan 101,这样网桥一和网桥三就相当于在同一个物理网络中了而容器一、容器三、容器四也在同一物理网络中了他们之间可以相互通信而且可以跟同一vlan中的其他物理机器互联。

View File

@ -7,7 +7,7 @@
![企业应用结构](../_images/enterprise_usage.png)
Docker占用资源小在一台E5 128G内存的服务器上部署100个容器都绰绰有余可以单独抽一个容器或直接在宿主物理主机上部署samba利用samba的home分享方案将每个用户的home目录映射到开发中心和测试部门的windows机器上。
Docker占用资源小在一台E5 128G内存的服务器上部署100个容器都绰绰有余可以单独抽一个容器或直接在宿主物理主机上部署samba利用samba的home分享方案将每个用户的home目录映射到开发中心和测试部门的windows机器上。
针对某个项目组,由架构师搭建好一个标准的容器环境供项目组和测试部门使用,每个开发工程师可以拥有自己单独的容器,通过`docker run -v` 将用户的home目录映射到容器中。需要提交测试时只需要将代码移交给测试部门然后分配一个容器使用`-v` 加载测试部门的home目录启动即可。这样在公司内部的开发、测试基本就统一了不会出现开发部门提交的代码测试部门部署不了的问题。

View File

@ -1,5 +1,5 @@
##使用 Supervisor来管理进程
docker 容器在启动的时候开启单个进程比如一个ssh或apache 的daemon服务。但我们经常需要在一个机器上开启多个服务这可以有很多方法最简单的就是把多个启动命令方到一个启动脚本里面启动的时候直接启动这个脚本另外就是安装进程管理工具。
docker 容器在启动的时候开启单个进程比如一个ssh或apache 的daemon服务。但我们经常需要在一个机器上开启多个服务这可以有很多方法最简单的就是把多个启动命令方到一个启动脚本里面启动的时候直接启动这个脚本另外就是安装进程管理工具。
本小节将使用进程管理工具supervisor来管理容器中的多个进程。使用Supervisor可以更好的控制、管理、重启我们希望运行的进程。在这里我们演示一下如何同时使用ssh和apache服务。

View File

@ -1,4 +1,4 @@
##控制组
控制组是LXC容器的另外一个关键组件由它来实现资源的审计和限制。他们提供了很多有用的特性还可以用来确保每个容器可以公平分享主机的内存、CPU、磁盘IO等资源更重要的是它可以保证当一个容器耗尽其中一个资源的时候不会连累主机宕机。
尽管他们不阻止容器之间相互访问、处理数据和进程,但他们在防止拒绝服务攻击方面是必不可少的。在多用户的平台比如共有或私有的PaaS上更加重要当某些应用程序表现不好的时候可以保证一直的uptime和性能。控制组始于2006年从2.6.24之后被引入。
尽管他们不阻止容器之间相互访问、处理数据和进程,但他们在防止拒绝服务攻击方面是必不可少的。在多用户的平台比如共有或私有的PaaS上更加重要当某些应用程序表现不好的时候可以保证一直的uptime和性能。控制组始于2006年从2.6.24之后被引入。

View File

@ -1,5 +1,5 @@
##Docker Daemon Attack Surface
运行一个容器或应用程序意味着运行一个Docker 服务。Docker服务要求root权限所以你需要了解一些重要的细节。
运行一个容器或应用程序意味着运行一个Docker 服务。Docker服务要求root权限所以你需要了解一些重要的细节。
首先确保只有可信的用户可以访问docker服务因为这会直接导致很严重的后果。因为Docker允许你在主机和容器之间共享文件夹这就容易让容器突破资源限制。比如当你在启动容器的时候将主机的/映射到容器的/host目录中那么容器就可以对主机做任何更改了。这听起来很疯狂不过你要知道几乎所有虚拟机系统都有在物理主机和虚拟机之间共享资源的限制所以需要你自己来考虑这一层的安全性。
@ -7,7 +7,7 @@
因此REST API在docker0.5.2之后使用unix socket替代了绑定在127.0.0.1上的tcp socket后者容易遭受跨站脚本攻击。现在你可以使用增强的unix sockt权限来限制对控制socket的访问。
你依然可以将REST API发布到http服务上。不过一定要小心确认这里的安全机制确保只有可信的网络或则vpn或则受保护的stunnel和ssl认证可以对REST API进行访问。还可以使用https和认证HTTPS and certificates.
你依然可以将REST API发布到http服务上。不过一定要小心确认这里的安全机制确保只有可信的网络或者vpn或者受保护的stunnel和ssl认证可以对REST API进行访问。还可以使用https和认证HTTPS and certificates.
最近改进的linux namespace将很快可以实现使用非root用户来运行全功能的容器。这解决了因在容器和主机共享文件系统而引起的安全问题。
Docker的终极目标是改进2个安全特性

View File

@ -5,7 +5,7 @@
这对容器的安全有很多好处通常的服务器需要允许一大堆root进程通常有ssh cron syslogd模块和网络配置工具等等。容器则不同因为大部分这种人物都被容器外面的基础设施处理了
* ssh可以被主机上ssh服务替代
* 硬件管理也无关紧要容器中也就无需执行udevd或其他类似的服务
* 硬件管理也无关紧要容器中也就无需执行udevd或其他类似的服务
* 网络管理也都在主机上设置除非特殊需求ifconfig、route、ip也不需要了。
这意味这大部分情况下容器完全不需要“真正的”root权限。因此容器可以运行一个减少的capabilities集容器中的root也比“真正的root"拥有更少的capabilities,比如:

View File

@ -3,7 +3,7 @@ Docker容器和LXC容器很相似他们提供的安全特性也差不多。
名字空间提供了最初也是最直接的隔离,在容器中运行的进程不会被运行在主机上的进程和容器发现,他们之间相互影响也就小了。
每个容器都有自己的网络堆栈他们不能访问其他容器的sockets接口。不过如果在主机系统上做了相应的设置他们还是可以像跟主机交互一样的和其他容器交互通信。当你指定公共端口或使用links来连接2个容器时他们就可以相互通信了。相互ping、udp、tcp都没问题也可以根据需要设定更严格的策略从网络架构上来看所有的容器通过主机的网桥接口相互通信就像物理机器通过物理交换机通信一样。
每个容器都有自己的网络堆栈他们不能访问其他容器的sockets接口。不过如果在主机系统上做了相应的设置他们还是可以像跟主机交互一样的和其他容器交互通信。当你指定公共端口或使用links来连接2个容器时他们就可以相互通信了。相互ping、udp、tcp都没问题也可以根据需要设定更严格的策略从网络架构上来看所有的容器通过主机的网桥接口相互通信就像物理机器通过物理交换机通信一样。
内核提供的名字空间和私有网络的代码有多成熟?