如何不断获取 docker 容器的状态并在 React 应用程序中显示

问题描述

我创建了一个反应应用程序来启动/重置 docker 一些容器。我用 reactstrap、shelljs 和 express 来做到这一点。

现在我还想获得反馈,例如这些容器是否正在启动、是否已启动或是否已删除/不存在。

我认为获取现有容器状态的一种方法是将它们启动而不是像这样的守护进程:

app.post('/api',(req,res) => {
  console.log(req.body);
  const action = req.body.action;
  const service = req.body.service;

  switch (action) {
    case "start":
      var container = sh.exec(docker-compose up -d "+ service,{async:true});
      return container;
  }

如果没有数据流,我会检测到不存在的容器。

也许我可以像上面一样返回容器对象并在应用程序中不断检查其数据: container.stdout.on('data',function(data)

因为我是新手。我不太确定我是否采用正确的方式以及如何使用该数据流。也许在一个可以在应用程序 UI 中打印的变量中过滤它。

似乎我需要通过添加服务名称来为容器对象提供某种动态变量名称

编辑:另一种解决方案是每隔几秒发送一个 docker ps 并解析数据。只要浏览器中的页面处于活动状态。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)