Chr*_*s L 16 virtual-machines openvz vmware-esxi lxc docker
我的理解是容器比 VM 轻得多,因为它们不虚拟化硬件,而只是将其中运行的软件与系统上其他容器中运行的软件隔离开来。
我的情况是我买不起额外的服务器,而且我拥有的服务器都在运行虚拟机管理程序。我需要提供至少 6 个“服务器”来托管相对较小的 Web 应用程序的实例(每个实例用于不同的客户)。为这些服务器中的每一个配置一个新的 VM 会很浪费,所以我计划设置 2 个 VM 并执行以下操作之一:
考虑到这一点,是否存在与容器系统相关的不可忽略的开销,这会使在 VM 中使用它们成为一个坏主意,或者是否有任何其他技术原因我不想使用容器?
小智 13
与 VM 相比,Docker 非常轻量级,并且 VM 系统应该可以正常运行容器。每个容器本质上确实作为一个隔离系统运行,因此从系统稳定性的角度来看,它非常适合隔离。根据您的描述,这听起来像是 Docker 的理想用例。如果您尝试使用 Docker,请确保尽可能使用最新版本,一些较旧的版本中存在一些相当令人讨厌的漏洞。运行 Docker 时有一些安全注意事项。
SELinux - SELinux 具有容器感知能力,并且会自动为每个容器创建一个随机命名的 MCS 标签。这有助于确保隔离,因为 LXC 容器不被认为是真正“包含”自己,尽管这正在改进。
USER 指令- 在每个 Dockerfile 中,推荐的最佳实践是使用 USER 指令并让用户以 root 以外的帐户运行,默认情况下。这里的问题是用户必须存在于系统中。对于这个新用户来说,chowning/chmodding 文件和目录也可能令人沮丧,但它有助于降低您的风险。我通常建议您在您的系统上创建一个“容器用户”或类似的东西,以帮助确保公共用户在所有系统上都可用,而不会与系统的任何其他部分重叠。
否则最困难的部分是管理容器并在必要时更新它们。
归档时间: |
|
查看次数: |
16561 次 |
最近记录: |