Skip to content

Commit 2324a54

Browse files
committed
get network if already exists and return a network object with the networkname
1 parent 6c93186 commit 2324a54

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

lib/networks.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,14 @@ module.exports = async function (docker, projectName, recipe, output) {
55
var network = recipe.networks[networkName];
66
if (network === null) {
77
try {
8-
networks.push(await docker.createNetwork({ 'Name': projectName + '_' + networkName, 'CheckDuplicate': true }));
8+
networks.push({ "name": projectName + '_' + networkName, "network": await docker.createNetwork({ 'Name': projectName + '_' + networkName, 'CheckDuplicate': true }) });
99
} catch (err) {
10-
throw err;
10+
if (err.statusCode == 409 && err.json.message.includes("already exists")) {
11+
let returnedNetwork = await docker.listNetworks({ "filters": { "name": [projectName + '_' + networkName] } })
12+
networks.push({ "name": projectName + '_' + networkName, "network": await docker.getNetwork(returnedNetwork[0].Id) })
13+
} else {
14+
throw err;
15+
}
1116
}
1217
continue
1318
}
@@ -48,9 +53,14 @@ module.exports = async function (docker, projectName, recipe, output) {
4853

4954
if (networks.length === 0) {
5055
try {
51-
await docker.createNetwork({ 'Name': projectName + '_default', 'CheckDuplicate': true });
56+
networks.push({ "name": projectName + '_' + networkName, "network": await docker.createNetwork({ 'Name': projectName + '_default', 'CheckDuplicate': true }) });
5257
} catch (err) {
53-
throw err;
58+
if (err.statusCode == 409 && err.json.message.includes("already exists")) {
59+
let returnedNetwork = await docker.listNetworks({ "filters": { "name": [projectName + '_default'] } })
60+
networks.push({ "name": projectName + '_' + networkName, "network": await docker.getNetwork(returnedNetwork[0].Id) })
61+
} else {
62+
throw err;
63+
}
5464
}
5565
}
5666

0 commit comments

Comments
 (0)