首页 > 解决方案 > Docker-Compose/Deamon 如何知道重启后要启动哪个容器?

问题描述

我是从纯粹的技术角度询问的——我知道我可以在 Docker Compose 中指定重启策略。但我想知道这个问题的信息“发生重启/电源故障时哪些容器正在运行?” 被储存了。或者换个方式问,deamon怎么知道重启后要启动哪个容器?

有没有可能编辑这个“文件”/“信息”?

标签: dockerdocker-composeeditrebootdocker-daemon

解决方案


Docker 守护进程保持内部状态,以了解哪些容器正在运行、它们从哪个映像启动,以及启动时设置,例如它们的命令和端口映射。您无法直接查看或访问此数据。

对于大多数容器设置,更改它们的最可靠方法是停止、删除和重新创建容器。这是非常常规的,您应该确保配置容器,以便在删除它时不会丢失任何数据。(如果可能,将数据存储在容器外部,例如数据库中,如果没有,则使用卷挂载来存储数据。)

可以在不重新启动容器的情况下更新有限数量的内容docker update,这恰好包括重新启动策略。如果您使用的是 Compose,您可以更新文件restart:中的设置docker-compose.yml并重新运行docker-compose up -d,这将应用更新的设置(可能通过删除并重新创建容器)。


推荐阅读