3.0.0 • Published 6 years ago

@darrinholst/docker-run v3.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

docker-run

Start a docker image and attach to it

npm install docker-run

There is also a command line tool available

Usage

var run = require('docker-run')

var child = run('mafintosh/dev', {tty:true})

process.stdin.setRawMode(true)
process.stdin.pipe(child.stdin)
child.stdout.pipe(process.stdout)
child.stderr.pipe(process.stderr)

API

  • child = run(image, [options])

Where options can be

{
  net: 'bridge',    // network mode (auto | host | bridge). defaults to bridge
  tty: true,        // be a tty. defaults to false
  fork: true,       // fork (do not attach stdio). defaults to false
  remove: true,     // remove the container on stop. defaults to true
  dns: ['8.8.8.8'], // set custom dns servers
  ports: {
    8080: 8081      // expose container 8080 to host 8081
  },
  volumes: {
    '/root': '/tmp',     // create a host volume at container /tmp mapped to host /root
    '/root': '/tmp2:ro', // create a host volume at container /tmp2 mapped to host /root as read only
    '/tmp/subdir': null  // create an anonymous volume at container /tmp/subdir
  },
  links: {
    'container-name': 'alias' // link container-name as alias
  },
  env: {
    FOO: 'bar'      // set env vars
  },
  entrypoint: '/bin/bash' // override entrypoint on container
}
  • child.stdin, child.stderr, child.stdout

The stdio streams for the container. Is null if fork: true

  • child.destroy()

Destroy the child container

  • child.resize(wid, hei)

Resize the container pty (if tty: true)

Events

  • child.on('exit', exitCode)

Emitted when the container exits

  • child.on('spawn', containerId)

Emitted when the container is spawned

  • child.on('error', error)

Emitted if the container experiences a fatal error

Command line usage

To install the command line tool do

npm install -g docker-run

And then run

docker-run --help

To view the help. In general to run an image do

docker-run [image]

License

MIT