如何在restart=";中重新启动现有Docker容器;“始终”;模式
最初从图像运行Docker容器时,可以指定以下选项:如何在restart=";中重新启动现有Docker容器;“始终”;模式,docker,Docker,最初从图像运行Docker容器时,可以指定以下选项: --restart="always" 这确保了如果容器由于某种原因停止,Docker守护进程始终会重新启动它。因此,您可以像这样运行容器: docker run --restart="always" <IMAGE> docker run--restart=“始终” 您还可以通过指定现有Docker容器的容器ID重新启动该容器,即: docker start <CONTAINER
--restart="always"
这确保了如果容器由于某种原因停止,Docker守护进程始终会重新启动它。因此,您可以像这样运行容器:
docker run --restart="always" <IMAGE>
docker run--restart=“始终”
您还可以通过指定现有Docker容器的容器ID重新启动该容器,即:
docker start <CONTAINER ID>
docker启动
但是,我无法确定是否可以更改一个现有的容器(该容器最初未使用--restart=“always”
选项运行),以便将来将其转换为always restart
目前,我能想到的唯一方法是将容器另存为新映像,然后使用--restart=“always”
选项将该映像作为新容器运行。这真的是正确的方法吗
编辑:我最初可能没有说清楚的是,我考虑的情况是,自容器最初运行以来,容器中发生了一些更改,这些更改需要持久化。因此,仅从原始图像运行新容器是不够的。从
假设您想要更改此容器的重新启动策略
从总是失败到失败。为此,您需要停止容器,
删除它并使用新的重新启动策略重新运行它
好的,为了回答我自己的问题,似乎不可能只使用
--restart=always
重新启动同一个容器,因为这是第一次运行容器时必须执行的操作,而不是启动现有容器时可以使用的参数
docker update --restart=always <CONTAINER ID>
有三种可能的解决方法:
docker rm
将其删除以进行整理)。然后,只需从原始映像运行一个新容器,这次指定-restart=always
选项docker提交
docker run-d--restart=始终代码>
--volumes from
参数运行第二个容器,而无需提交映像的新版本。i、 e
docker站
docker run-d--restart=always--volumes from代码>
我猜还有第四种可能性;如果您使用了一个或多个卷,并且您知道对容器所做的更改不在该卷上,那么您必须使用(2)和(3)的组合。更新:这可以启用重新启动。但如果将其设置回“否”,则会将其重置回“始终”,容器将再次启动!:(我将把这个答案留在这里,以防有人知道这到底是怎么回事。我一定很接近! 伙计们,我找到了复制容器等的最黑客的解决方案 vi/var/lib/docker/containers/$(docker-inspect-f'{.Id}}'$ContainerID)/hostconfig.json 搜索“RestartPolicy”。将其设置为“否”、“始终”等 也许有人能把它写成剧本 无论如何,这段json以及config.json将允许您修改创建容器时遗漏的所有内容。我们现在有了docker,它允许更改正在运行的容器的重启策略
docker update --restart=always <CONTAINER ID>
docker更新--重新启动=始终
还有三种选择:
- 否(默认值)
- 论失败
- 除非停止
有关详细信息,请参阅。但问题是,您将丢失原始容器中的任何更改,因为您已将其删除并从头创建了一个新容器。我非常确定,如果原始容器中有任何更改,提交新映像并从中运行新容器会更好所以我们回到你的commit@rdc你应该尽量避免因为这样的事情而在容器中进行更改-要么将其保存在卷中,要么保存在某种DB中。这个答案不再相关,请查看@Frank Wong的回答对任何尝试这样做的人发出警告,Docker的许多状态管理与ASU一起运行我认为这是唯一修改/var/lib/docker内容的东西。在这里进行更改时要非常小心。啊,是的,这取决于所做的更改和保持打开的文件。为了安全起见,请随时停止docker引擎。我希望他们在后续版本中添加进行更改的功能。没有该功能是疯狂的y操纵重新启动策略。可能很快会添加一个新的设置功能。这是在哪个版本的Docker中引入的?它从1.11.0版开始提供。为什么我们在kitematic中看不到这一点?有人知道吗?或多或少重复: