Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deployment 重新启动vs在Docker上构建容器_Deployment_Docker_Lxc - Fatal编程技术网

Deployment 重新启动vs在Docker上构建容器

Deployment 重新启动vs在Docker上构建容器,deployment,docker,lxc,Deployment,Docker,Lxc,我在理解何时重新启动容器以及何时构建新容器时遇到一些困难 假设我有一个webapp,我将其数据提供给一个容器(通过指向当前部署的符号链接)。现在,当一个新的部署到来时,我有两个选择:(1)从映像构建一个新容器,或者(2)简单地重新启动正在运行的容器 我知道决定取决于各种因素,但我的问题更具概念性: 通常,什么是更好的实践,或者Docker是如何使用的?您认为其中一种方法有什么问题吗?我认为在某些情况下,这两种方法可能会产生相同的结果 无论如何,我认为正确的方法是准备一个包含所有先决条件和依赖项的

我在理解何时重新启动容器以及何时构建新容器时遇到一些困难

假设我有一个webapp,我将其数据提供给一个容器(通过指向当前部署的符号链接)。现在,当一个新的部署到来时,我有两个选择:(1)从映像构建一个新容器,或者(2)简单地重新启动正在运行的容器

我知道决定取决于各种因素,但我的问题更具概念性:


通常,什么是更好的实践,或者Docker是如何使用的?您认为其中一种方法有什么问题吗?

我认为在某些情况下,这两种方法可能会产生相同的结果

无论如何,我认为正确的方法是准备一个包含所有先决条件和依赖项的映像。这是您希望用于webapp的初始状态。然后,您可以基于同一图像在一个或多个容器中启动webapp。每个实例都有自己独特的容器

在部署的情况下,我认为您应该“重新开始”:停止并丢弃正在运行的容器,并使用新部署的应用程序创建一个新容器

当然,您可以重新启动容器,但每个容器都有一个状态,通常,您希望丢弃此状态,然后使用新的初始映像重新启动。当然,如果您的应用程序只打印“Hello World”,则容器中没有保存状态,因此在本例中,两个选项的行为相同