docker - Docker-Compose/Deamon 如何知道重启后要启动哪个容器?
问题描述
我是从纯粹的技术角度询问的——我知道我可以在 Docker Compose 中指定重启策略。但我想知道这个问题的信息“发生重启/电源故障时哪些容器正在运行?” 被储存了。或者换个方式问,deamon怎么知道重启后要启动哪个容器?
有没有可能编辑这个“文件”/“信息”?
解决方案
Docker 守护进程保持内部状态,以了解哪些容器正在运行、它们从哪个映像启动,以及启动时设置,例如它们的命令和端口映射。您无法直接查看或访问此数据。
对于大多数容器设置,更改它们的最可靠方法是停止、删除和重新创建容器。这是非常常规的,您应该确保配置容器,以便在删除它时不会丢失任何数据。(如果可能,将数据存储在容器外部,例如数据库中,如果没有,则使用卷挂载来存储数据。)
可以在不重新启动容器的情况下更新有限数量的内容docker update
,这恰好包括重新启动策略。如果您使用的是 Compose,您可以更新文件restart:
中的设置docker-compose.yml
并重新运行docker-compose up -d
,这将应用更新的设置(可能通过删除并重新创建容器)。
推荐阅读
- angular - 如何过滤 PrimeNG 数据表列,其中字段为 JSON
- python - 熊猫组并加入
- scala - 从 build.sbt 设置的环境变量
- tensorflow - TensorFlow 训练:CPU Xeon 或 2 GPU gtx750。谁更快?
- maven - 使用 mvn 运行 jmeter 测试时在控制台中显示汇总报告信息
- mongodb - 无法从另一个 docker 连接到 mongo docker
- mongodb - Mongodb:“错误:执行查询时出错:失败:尝试在主机'127.0.0.1:53492'上运行命令'find'时出现网络错误”
- sql - Microsoft SQL 存储过程
- mysql - Mysql 和 Wordpress Kubernetes 安装给出名称解析错误
- graphql - 如何在 graphql-playground 中更改 websocket url(订阅)