【问题标题】:How does Docker-Compose/Deamon know which container to boot after a reboot?Docker-Compose/Deamon 如何知道重启后要启动哪个容器?
【发布时间】:2021-02-02 09:57:38
【问题描述】:

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

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

【问题讨论】:

    标签: docker docker-compose edit reboot docker-daemon


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢!所以没有办法让 docker-deamon 在崩溃之前忘记哪些容器是活着的? (我在运行时需要重启策略,但不想在“系统”崩溃后使用它)。
    猜你喜欢
    • 2019-12-21
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    • 2020-09-16
    • 1970-01-01
    相关资源
    最近更新 更多