Dod*_*dge 6 virtualization docker
我目前正在从功能强大的根服务器迁移到功能较弱且最便宜的服务器。在根服务器上,我将一些服务隔离到单独的 VM 中。在新服务器上这是不可能的。但是我仍然希望对某些服务进行一些隔离......如果可能的话。
目前我正在考虑使用 docker 进行这种隔离。但我不确定 docker 是否是正确的工具。我试图用谷歌搜索答案,但我发现的大多数关于 docker 的帖子都只与用于开发、ci 或测试目的的短期容器有关。在我的情况下,它更像是拥有一个长期容器,该容器运行例如带有 nginx、php 和 mysql/mariadb 的 Web 服务堆栈(而 db 甚至可能获得自己的容器)以及运行其他服务的其他容器。
所以我的问题是:Docker 是否适合长时间运行容器的任务。或者换句话说...... docker 是否可用作基于 kvm 的虚拟机的“替代品”?
Docker 无处不在,用于长时间运行的 Web 应用程序。目前在生产中,我在 docker 中运行了以下内容
与所有判断电话一样,任何答案都会有一些意见。尽管如此,可以肯定地说容器化不是虚拟化。它们是不同的技术,以不同的方式工作,具有不同的优点和缺点。将容器化视为虚拟化精简版是犯了一个根本性的错误,就像将虚拟化的访客视为廉价的专用服务器是一个错误一样。我们看到很多人对SF提出了很多问题,他们把一个容器当成“便宜的VPS ”卖了;误解了他们所拥有的,他们试图将其视为虚拟化的客人,并给自己带来麻烦。
容器化无疑非常适合开发工作:它使大量环境能够非常快速地启动,从而使在缓慢变化的参考后端的多个快速变化的副本上的开发变得非常容易。请注意,在这种情况下,容器在基础设施和功能上都非常相似;它们本质上都是单个后端的微妙不同的副本。
当人们尝试在单个主机上容器化多个发行版时,或者来宾在内核模块方面有不同的需求,或者外部硬件连接出现问题时,可能会出现问题 - 以及在许多其他类似的偏离容器化确实运行良好的场景中.
如果您决定在容器上部署到生产中,请记住您所做的事情,不要陷入将部署视为虚拟化的心态;请注意,省钱具有与之相关的机会成本。根据你的布料剪下你的外套,你很可能会有一个很好的体验。但是如果让你自己(或者更常见的是管理层)误解你所做的事情,麻烦就会接踵而至。