我很难理解何时重启容器以及何时构建新容器。
想象一下,我有一个webapp,我将其数据提供给容器(通过指向当前部署的符号链接)。现在,当有新的部署时,我有两个选择:(1)从映像构建新容器或(2)只需重新启动正在运行的容器。
我知道决定取决于各种各样的事情,但我的问题更具概念性:
通常什么是更好的做法或者Docker是如何使用的?您是否看到其中一种方法存在任何问题?
答案 0 :(得分:0)
我认为在某些情况下两种选择都可以有相同的结果。
无论如何,我认为正确的方法是准备一个包含所有先决条件和依赖关系的图像。这是您要用于webapp的初始状态。然后,您可以基于同一图像在一个或多个容器中启动Web应用程序。每个实例都有自己独特的容器。
在部署的情况下,我认为您应该“重新开始”:停止并丢弃正在运行的容器,并使用新部署的应用程序创建一个新容器。
当然,您可以重新启动容器,但每个容器都有一个状态 - 通常 - 您希望抛弃此状态并重新开始使用新的初始图像。当然,如果您的应用只是printfs“Hello World”,则容器中没有保存状态,因此在这种情况下两个选项的行为都相同。