0

我希望有人能帮助我。我正在使用Dockerode通过 JavaScript 对我的 Docker 容器进行操作。

我很难获得单个容器的名称。请求是“获取 ID 为 XXX 的容器的名称”,但我无法使其工作。

为此,我使用listContainers并尝试使用以下选项:

docker.listContainers({id: idContainer}, Meteor.bindEnvironment(function(err, containers) {
  if (containers != null) {
      containers.forEach(Meteor.bindEnvironment(function(containerInfo) {
          if(containerInfo.Names[0].startsWith("/")){
             containerInfo.Names[0] = containerInfo.Names[0].substr(1);
             console.log( containerInfo.Names[0]);
          }
      }));
  }
}));

其中 idContainer 是已知容器的 id

但输出包含所有容器的名称。

我真的希望有人能帮助我

4

1 回答 1

0

查看Docker API 文档,我认为您的调用参数可能格式错误。

代替:

docker.listContainers({ id: idContainer }, function (...) {...});

您需要指定:

docker.listContainers({ filters: { id: idContainer } }, function (...) {...});

在文档中,id 参数位于过滤器参数组内。

于 2017-04-21T09:35:16.903 回答