UNPKG

683 BJavaScriptView Raw
1const Docker = require('dockerode')
2
3const docker = new Docker({
4 socketPath: '/var/run/docker.sock'
5})
6
7class Network {
8 constructor (appId) {
9 this.id = `noop/${appId}`
10 this.dockerNetwork = docker.getNetwork(this.id)
11 }
12
13 ensure (done) {
14 this.dockerNetwork.inspect((err) => {
15 if (err && err.statusCode === 404) {
16 this.create(done)
17 } else {
18 done(err)
19 }
20 })
21 }
22
23 create (done) {
24 const opts = {
25 Name: this.id,
26 CheckDuplicate: true
27 }
28 docker.createNetwork(opts, done)
29 }
30
31 attachContainer (containerId, done) {
32 this.dockerNetwork.connect({Container: containerId}, done)
33 }
34}
35
36module.exports = Network