From e9b82661bd6ab5bb510331e3515fb3f08ebaed18 Mon Sep 17 00:00:00 2001 From: CP Lepage <32472542+cplepage@users.noreply.github.com> Date: Tue, 18 Jul 2023 16:23:55 -0400 Subject: [PATCH] even closer to real docker compose command After more thorough investigation, tried to reproduced a closer behaviour to native docker compose CLI --- lib/networks.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/networks.js b/lib/networks.js index 3647f51..975a376 100644 --- a/lib/networks.js +++ b/lib/networks.js @@ -46,12 +46,21 @@ async function up(docker, projectName, recipe, output) { continue; } if (network.external === true) { - let returnedNetwork = await docker.listNetworks({ - filters: { name: [ network.name || networkName ] }, + const networkLookupName = network.name || networkName; + + let returnedNetworks = await docker.listNetworks({ + filters: { name: [ networkLookupName ] }, }); + + const externalNetwork = returnedNetworks.find(network => network.Name === networkLookupName) + + if(!externalNetwork){ + throw new Error(`network ${networkLookupName} declared as external, but could not be found`) + } + networks.push({ name: projectName + '_' + networkName, - network: await docker.getNetwork(returnedNetwork[0].Id), + network: await docker.getNetwork(externalNetwork.Id), }); continue; }