Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

run-container

1.2.1 • Public • Published

run-container

run a docker container in nodejs

runs a container using dockerode, bootstrapping the pull & start processes, whilst also exposing a compact function to simplify docker's and dockerode's otherwise complex APIs

JavaScript Style Guide TypeScript package semantic-release CircleCI

usage

import { run, runSimple } from 'run-container'
 
// runSimple, minimal example
const container = await runSimple({ image: 'postgres' }) // => Dockerode.Container instance
await container.remove({ force: true })
 
// runSimple, rich example
await runSimple({
  autoRemove: true,
  bindMounts: { '/path/to/host/file.sh': '/path/to/container/file.sh' },
  cmd: ['bash', '/path/to/container/file.sh'],
  env: { 'KEY': 'VALUE' },
  image: 'bash',
  name: 'script-fun',
  ports: { '4000': '4000' } // tcp ports only. otherwise, use `run`
})
await container.wait()
await container.remove()
 
// run
// exposes Dockerodes.ContainerCreateOptions full API,
// which directly reflects the docker engine API!
// https://docs.docker.com/engine/api/latest/
const container = await run({
  Image: 'postgres',
  ExposedPorts: {
    '5432/tcp': {}
  },
  HostConfig: {
    AutoRemove: true,
    PortBindings: { '5432/tcp': [{ HostPort: '40000' }] }
  }
})
// ... do work
await container.remove({ force: true })

see the exported typescript typings in the docs folder, or check out the tiny source.

Install

npm i run-container

DownloadsWeekly Downloads

14

Version

1.2.1

License

MIT

Unpacked Size

26.5 kB

Total Files

18

Last publish

Collaborators

  • avatar