Linux 既然可以安装服务或应用程序,为什么要将其dockerize?
我们有大约12项服务和其他应用程序,如presto 我们正在考虑为每个服务和应用程序构建Docker容器。把所有这些都归档对吗Linux 既然可以安装服务或应用程序,为什么要将其dockerize?,linux,docker,dockerfile,containers,rhel,Linux,Docker,Dockerfile,Containers,Rhel,我们有大约12项服务和其他应用程序,如presto 我们正在考虑为每个服务和应用程序构建Docker容器。把所有这些都归档对吗 什么时候Docker容器不是理想的解决方案?将多个服务停靠在一起没有问题。我认为你也需要考虑下面的事情。 您必须考虑如何将使用过的数据保存在容器中。默认情况下,容器内的数据将在容器关闭时销毁。为了永久保存数据,您可能必须装载卷 在docker中运行时,您可能无法获得裸机性能 在我看来,如果您打算在docker中运行所有应用程序,那么这不是一个好的选择,除非您需要利用集装
什么时候Docker容器不是理想的解决方案?将多个服务停靠在一起没有问题。我认为你也需要考虑下面的事情。 您必须考虑如何将使用过的数据保存在容器中。默认情况下,容器内的数据将在容器关闭时销毁。为了永久保存数据,您可能必须装载卷 在docker中运行时,您可能无法获得裸机性能
在我看来,如果您打算在docker中运行所有应用程序,那么这不是一个好的选择,除非您需要利用集装箱化。但是,使用docker运行无状态应用程序和服务很容易。您应该将所有基于Linux的、无状态的、需要频繁升级/更改/修补程序的服务封装起来。这些包括所有类型的前端和应用服务器 另一方面,数据库/数据存储是更复杂的情况,因为存在性能和数据持久性/完整性问题。此外,数据库升级/修补的频率不如前端应用程序 *Windows容器只能在Windows中运行。优点:
本地
、集成
、暂存
和生产
环境。当服务被容器化时,这会更容易实现,而且大多数情况下,只需切换环境变量李>
我希望这有帮助 Docker是一致性和再现性的配方 要泡一杯好茶,你需要开水,放一些茶包在里面,让它泡三分钟。你是如何获得沸水的绝对无关 现在让我们想象一下,你需要端上12杯茶。您的员工知道如何制作合适的啤酒吗?你的员工知道如何使用水壶或平底锅吗?你有什么保证每杯茶都是一样的 你可以花大量时间培训员工,确保你拥有所需的所有设备。或者你可以投资一台机器,反复生产同一杯茶 这个类比似乎很愚蠢,但我的观点是,相对常见的问题已经有了众所周知的解决方案
除非它是一次性的场景,或者你有其他的限制,我们不知道,你有什么理由不考虑Docker? 你的意思是什么-裸体-metal@jessica我的意思是在主机操作系统上运行应用程序。不在虚拟机或docker中。
GUI应用程序无法正常工作,因为docker是为部署服务器级应用程序而设计的。
您可以在docker容器中运行浏览器。你这是什么意思?@michalk我不认为总是这样。您可以将浏览器连接到Xfvb之类的显示器,并通过VNC连接到Docker容器,您将看到一个实际的浏览器。在linux下:在Docker中运行GUI应用程序没有问题。只需将/tmp/.X11 unix/X0
套接字连接到正在运行的容器。还可以在kubernetes内部使用X11转发运行GUI应用程序@customcommander不使用VNC-X11是本机方式(windows除外)。关于-数据库,它是否也包括presto workers服务器?我不是presto方面的专家,但这些workers似乎不包含架构或表。所以它们不是数据存储。