-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathbin.js
More file actions
executable file
·44 lines (33 loc) · 1.25 KB
/
bin.js
File metadata and controls
executable file
·44 lines (33 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/env node
var minimist = require('minimist')
var docker = require('./')
var argv = minimist(process.argv, {
alias: {port:'p', docker:'d', help:'h'},
boolean: ['hostNetworking', 'offline'],
default: {port:process.env.PORT || 8080}
})
var image = argv._[2]
if (argv.help || !image) {
console.log('Usage: docker-browser-server image [options]')
console.log()
console.log(' --port, -p [8080] (port to listen on)')
console.log(' --docker, -d [$DOCKER_HOST] (optional host of the docker daemon)')
console.log(' --persist (allow persistance of /root in the containers)')
console.log(' --dockerport (expose a docker container port to dockerhost)')
console.log('')
return process.exit(argv.help ? 0 : 1)
}
if (argv.hostNetworking) argv.beforeCreate = function (config) {
config.HostConfig.NetworkMode = 'host'
}
var server = docker(image, argv)
server.on('spawn', function(container) {
console.log('Spawning new container (%s)', container.id)
})
server.on('kill', function(container) {
console.log('Killing container (%s)', container.id)
})
server.on('listening', function() {
console.log('Server is listening on port %d', server.address().port)
})
server.listen(argv.port)