How can I use filters in listNetworks with dockerode?

325 Views Asked by At

I want to list docker networks with specific name and I've tried to use options like

import Docker from "dockerode";
const docker = new Docker();
const ntw =  await docker.listNetworks({
         Name:"qwerty"
  })
console.log(ntw);

But when I tried to run this script I got all networks so how can i get network with name "qwerty" only? Picture as follows.
enter image description here

2

There are 2 best solutions below

3
On BEST ANSWER

Just use Array.prototype.filter

import Docker from "dockerode";
const docker = new Docker();
const ntw =  await docker.listNetworks({
         Name:"qwerty"
  })
const [qwerty] = ntw.filter(elem=>elem.Name==='qwerty')
0
On
const networks = await docker.listNetworks({
  filters: JSON.stringify({
    name: ['qwerty'],
  }),
})