我不确定如何最佳使用Docker容器。当我使用虚拟机,例如ubuntu运行Web应用程序时,我会安装所需的每个软件,如数据库、Web服务等,并将其用作独立操作系统。
然而,Docker可以以不同的方式使用。
假设我想要运行一个Web应用程序,我有两个选择:
1) 在一个容器中安装所有软件;安装数据库、Java和所有其他必要的软件以运行(即像使用虚拟机一样)。
2) 在单独的容器中安装每个应用程序;在一个容器中安装数据库,在另一个容器中安装Web服务,并使它们相互通信。
选项1)似乎更容易部署一个全面的应用程序,但如果软件包之间存在某些依赖关系或分配操作系统资源到每个软件时,可能更难扩展。
选项2)似乎更难部署,但每个容器都可以升级而不会带来太多麻烦。
Docker用户的常见做法是什么?
编辑:答案也在https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#run-only-one-process-per-container中注意到。
然而,Docker可以以不同的方式使用。
假设我想要运行一个Web应用程序,我有两个选择:
1) 在一个容器中安装所有软件;安装数据库、Java和所有其他必要的软件以运行(即像使用虚拟机一样)。
2) 在单独的容器中安装每个应用程序;在一个容器中安装数据库,在另一个容器中安装Web服务,并使它们相互通信。
选项1)似乎更容易部署一个全面的应用程序,但如果软件包之间存在某些依赖关系或分配操作系统资源到每个软件时,可能更难扩展。
选项2)似乎更难部署,但每个容器都可以升级而不会带来太多麻烦。
Docker用户的常见做法是什么?
编辑:答案也在https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#run-only-one-process-per-container中注意到。