docker操作系统容器与应用程序容器

docker操作系统容器与应用程序容器,docker,docker-container,Docker,Docker Container,我不确定使用docker容器的最佳实践是什么。当我使用VM(比如ubuntu)运行web应用程序时,我会安装运行应用程序所需的所有软件,如数据库、web服务等,并像独立操作系统一样使用 但是,Docker可以以不同的方式使用 给定一个我想要运行web应用程序的场景,我有两个选项: 在一个容器上安装所有软件;安装数据库、java和运行所需的所有其他必要软件(即,像使用VM一样使用) 将每个应用程序安装在单独的容器上;数据库在一个容器中,web服务在另一个容器中,并使它们相互通信 选项1)似乎更容易

我不确定使用docker容器的最佳实践是什么。当我使用VM(比如ubuntu)运行web应用程序时,我会安装运行应用程序所需的所有软件,如数据库、web服务等,并像独立操作系统一样使用

但是,Docker可以以不同的方式使用

给定一个我想要运行web应用程序的场景,我有两个选项:

  • 在一个容器上安装所有软件;安装数据库、java和运行所需的所有其他必要软件(即,像使用VM一样使用)

  • 将每个应用程序安装在单独的容器上;数据库在一个容器中,web服务在另一个容器中,并使它们相互通信

  • 选项1)似乎更容易部署一个完整的堆叠应用程序,但如果包之间存在一些依赖性复杂问题或为每个软件分配操作系统资源,则可能更难扩展

    选项2)似乎更难部署,但每个容器都可以升级,而不会带来太多麻烦

    Docker用户的常见做法是什么


    编辑:这一问题的答案在

    中也有说明。最好的方法是为每个服务(应用程序)使用单独的容器。通过这种方式,您可以独立于其他容器升级/修改每个服务。Docker在微服务体系结构方面做得非常好

    只需一个命令即可运行所有容器:
    docker compose up
    。在Docker Compose中,您可以定义容器之间的依赖关系。因此,它们将自动连接

    如果您想在单独的Linux主机上运行每个容器,您可以使用,这样您就不必关心网络