重新启动与在Docker上构build容器

理解何时重新启动容器以及何时创build新容器有一些困难。

想象一下,我有一个web应用程序的数据,我给了一个容器(通过指向当前部署的符号链接)。 现在我有两个select,当一个新的部署进来:(1)从图像build立一个新的容器或(2)只需重新启动正在运行的容器。

我知道这个决定取决于各种事情,但我的问题是一个更概念的问题:

一般来说,更好的做法是什么,或者Docker是如何使用的? 你看到这些方法之一有什么问题吗?

我认为在某些情况下,这两个选项都可以有相同的结果。

无论如何,我认为正确的做法是准备一个图像与所有的先决条件和依赖项。 这是你的初始状态 ,你想用你的web应用程序。 然后,您可以基于同一图像在一个或多个容器中启动Web应用程序。 每个实例都有自己独特的容器。

在部署的情况下,我认为你应该做一个“新鲜的开始”:停止和放弃正在运行的容器,并与您的新部署的应用程序创build一个新的容器。

当然,你可以重新启动容器,但是每个容器都有一个状态,通常情况下,你想把这个状态抛开,并重新开始新的初始图像。 当然,如果您的应用程序只是printfs“Hello World”,没有保存在容器中的状态,所以在这种情况下,两个选项的行为是相同的。