Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript获取Docker容器的名称?_Javascript_Docker_Docker Container_Docker Api - Fatal编程技术网

如何使用JavaScript获取Docker容器的名称?

如何使用JavaScript获取Docker容器的名称?,javascript,docker,docker-container,docker-api,Javascript,Docker,Docker Container,Docker Api,我希望有人能帮助我。我使用JavaScript在Docker容器上执行操作 我很难找到一个容器的名称。请求是“获取id为XXX的容器的名称”,但我无法使其正常工作 为此,我使用了listContainers,并尝试使用以下选项: docker.listContainers({id: idContainer}, Meteor.bindEnvironment(function(err, containers) { if (containers != null) { container

我希望有人能帮助我。我使用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

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

我真的希望有人能帮我看看,我认为你的通话参数可能有问题

而不是:

docker.listContainers({ id: idContainer }, function (...) {...});
您需要指定:

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

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

奇怪的是,它仍然返回我所有的容器,你知道为什么吗?我没有处理docker api。要进行调查,您可以查看req结构并将其与测试进行比较,您可以通过curl或postman直接对docker api守护进程执行相同的命令。感谢您的建议,我将您的答案标记为正确答案,因为它是正确的(是的,没有意义)谢谢它满足了我的好奇心,所以我在:和的帮助下尝试了卷曲。我发现,当执行
过滤器:{id:someid}
时,该命令在DirectAPI中不起作用,但是
过滤器:{id:[someid]}
。出于某种原因,它需要id作为数组。例如:
curl-g--unixsocket/var/run/docker.sock http:/containers/json'?过滤器=%7B%22id%22%3A%5B%2294115da2a95d%22%5D%7D'
感谢您的帮助,是的,我发现了这个Github问题,这个家伙不得不添加[括号]。但对我来说还是不行,对你有用吗?