如何以编程方式监视 docker 容器是否退出?

2024-02-11

我在 VM 主机上运行多个命名的 docker 容器(200 多个)。 我有一个管理器脚本/代码,应该从主机管理容器。 我想知道是否有任何基于事件的机制可以在容器停止/失败时收到通知。这样我就可以重新启动已停止的容器。

我能想到的一个解决方案是定期进行 docker 检查并查看State.Pid or State.Running以确认状态。

但是,当容器发生故障时,最好用 pid/name 通知管理器,而不是定期轮询,这样就可以单独重新启动特定容器。

一般而言,是否有方法可以通过编程方式监视非父进程的其他进程的进程状态?


Look at 码头工人事件 https://docs.docker.com/engine/reference/commandline/events/- 有一个容器“死亡”事件。

还有一个 http 接口可以通过编程方式获取相同的信息 - 请参阅here https://docs.docker.com/engine/reference/api/docker_remote_api_v1.22/#/monitor-docker-s-events

您可能想要在网络上搜索“docker Orchestration”——许多项目如雨后春笋般涌现,以您描述的方式管理多个容器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式监视 docker 容器是否退出? 的相关文章

随机推荐

  • Tailwind CSS:有没有办法定位下一个兄弟?

    我有一个带有如下标签的无线电输入 输入被隐藏 标签用于制作一个视觉上吸引人的圆圈供用户单击
  • receiveCompletion 出错时订阅取消

    在我的以 MVVM 模式设计的应用程序中 我有一个登录视图 如果存在网络或身份验证问题 登录可能会失败 我的目标是捕获错误并显示相应的警报 我为警报定义了枚举 如下所示 enum Alerts Identifiable var id Int
  • Application Insights 是否跟踪引荐来源网址?

    我想我到处查看和搜索 但找不到任何带有推荐流量数据的图表或报告 我使用的是在预览 Azure 门户中存储数据的最新版本 在旧的应用程序洞察中 即在 VS Online 中 有此数据 有谁知道在新门户中是否可以找到它以及在哪里可以找到它 提前
  • Centos 7 Postgres 服务的环境变量

    最近我遇到了使用自定义 PGDATA 路径启动 postgresql 服务的问题 它尝试查找未初始化的默认数据目录 var lib pgsql 9 3 data 因此触发了这些错误 问题似乎是 Centos 7 上的服务启动器删除了所有环境
  • 如何在 Android 上将文件从内部应用程序存储移动/重命名到外部存储?

    我正在从互联网下载文件并将流数据保存到我的应用程序内部存储中的临时文件中获取文件目录 http developer android com reference android content Context html getFilesDir
  • IllegalArgumentException:类 TestDatabaseAutoConfiguration$EmbeddedDataSourceFactoryBean 中没有可见的构造函数

    我正在尝试使用 h2 数据库为 Spring Boot JPA 应用程序编写集成测试 不知何故 TestEntityManager 没有被创建 我尝试在论坛上寻找一些帮助 但找不到任何相关信息 感谢任何人可以提供帮助或提供一些指导 Than
  • 将 wc 行附加到文件名

    标题说明了一切 我已经设法得到这样的行 lines wc file txt awk print 1 但我可以使用辅助功能将其附加到文件名中 向我展示如何循环遍历当前目录中的所有 txt 文件的奖励积分 find name txt execd
  • 在 mac、ios、linux 上使用 calibri 风格

    由于 Windows 操作系统中存在 calibri 样式 但 linux mac ios 中不存在 calibri 样式 如果我的项目仅在 calibri 中具有其样式 并且我必须严格使用它 那么如果用户使用linux 并运行我的项目 那
  • 在android中使用Geocoder获取地址

    我尝试通过提供静态地理坐标来获取特定位置的地址 我无法获取地址 有人可以帮忙吗 我只需要检查这个功能是否适合我 这是我的片段 Geocoder geocoder new Geocoder AddressSimulator this Loca
  • 如何使用 docker-compose 将环境变量设置到 docker 容器中

    我想设置凭据以使用 Google Translate Api 客户端 因此我必须设置环境变量GOOGLE APPLICATION CREDENTIALS该值是凭证文件的路径 来自 Google Cloud 当我被利用的时候docker bu
  • 将未知长度的 char** (c) 转换为 vector (c++) [重复]

    这个问题在这里已经有答案了 如何将 C char 转换为 C 矢量 是否有一些内置功能可以用来做到这一点 或者通过一系列迭代步骤来完成它是否更好 编辑 由于各种原因 C 数组中的元素数量未知 我可以将其作为另一个参数传递 但这绝对有必要吗
  • 如何在反应中使用复选框形式?

    有两个组件container and presenter 下面的代码显示单个复选框状态变为 true 并且另一个复选框也正在更新 那么 如何处理具有状态的多个复选框 容器 export default class ApplyFormCont
  • 为什么点击设置innerHTML会在Chrome上触发两个解析事件?

    使用Chrome开发者工具中的时间轴 我使用了这一小段代码来记录事件内部HTML
  • 如何分发 Android 库

    我一直在为 android 库项目旋转一个 jar 并将这个 jar 包含在我的其他应用程序中 但在developer android com上 http developer android com tools projects index
  • REST API 404:URI 错误或缺少资源?

    我正在构建 REST API 但遇到了问题 设计 REST API 时公认的做法似乎是 如果请求的资源不存在 则返回 404 然而 对我来说 这增加了不必要的歧义 传统上 HTTP 404 与错误的 URI 相关 所以实际上我们是说 要么你
  • 将 ILMerge 与 .NET 4 库结合使用

    两个问题 1 基本 NET 程序集不包含在 ILMerged 程序集中 从 NET 3 5 Visual Studio 2008 升级到 NET 4 Visual Studio 2010 后 我在构建后使用 ILMerge 时遇到问题 我有
  • 以列表作为参数的 defun

    我正在尝试选择 Lisp 作为我的新语言 但我在解决如何让函数的一部分作用于传递给它的列表的每个元素上时遇到了一些问题 为了学习如何解决这个问题 我试图编写一个相当基本的除法形式 当列表的一个元素为 0 时不会发出声音 而是只返回 0 de
  • Java 中 String 享元实现的最佳替代方案

    我的应用程序是多线程的 具有密集的字符串处理 我们遇到内存消耗过多的情况 分析表明这是由字符串数据引起的 我认为使用某种享元模式实现甚至缓存会极大地提高内存消耗 我确信字符串经常是重复的 尽管我在这方面没有任何硬数据 我研究过 Java C
  • 如何在关闭网页时丢弃会话变量?

    我们在开发网页时遵循的一个流程 是将页面绑定到一个或多个会话变量 这些会话变量仅用于该页面 用于保存当前处理对象 因此在关闭页面时不需要它们 如何在关闭页面时丢弃这些会话变量 关于该技术或如何解决该问题有什么建议吗 离开 关闭页面时不会引发
  • 如何以编程方式监视 docker 容器是否退出?

    我在 VM 主机上运行多个命名的 docker 容器 200 多个 我有一个管理器脚本 代码 应该从主机管理容器 我想知道是否有任何基于事件的机制可以在容器停止 失败时收到通知 这样我就可以重新启动已停止的容器 我能想到的一个解决方案是定期