一尘不染

如何以restart =“ always”模式重新启动现有的Docker容器?

docker

最初从映像运行Docker容器时,可以指定以下选项:

--restart="always"

这样可以确保容器由于某种原因停止时始终由Docker守护程序重新启动。因此,您可以像这样运行一个容器:

docker run --restart="always" <IMAGE>

您还可以通过指定其容器ID来重新启动现有的Docker容器,即:

docker start <CONTAINER ID>

但是,我无法确定是否有可能更改原本没有使用该--restart="always选项运行的现有容器,以将其转换为以后始终重新启动。

目前,我能想到的唯一方法是将容器另存为新图像,然后使用该--restart="always"选项将该图像作为新容器运行。实际上这是否是正确的方法?

编辑
:本来我可能还不太清楚的是,我正在考虑以下情况:自容器最初运行以来,容器中一直存在更改,这种更改需要保留。因此,仅从原始图像运行新容器是不够的。


阅读 656

收藏
2020-06-17

共1个答案

一尘不染

现在,我们有了docker
update,它允许更改正在运行的容器的重启策略。

docker update --restart=always <CONTAINER ID>

还有其他三个选项:

  • 否(默认)
  • 失败
  • 除非停止

请参考链接了解详细信息。

2020-06-17