run-container
TypeScript icon, indicating that this package has built-in type declarations

2.0.9 • 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

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.

Package Sidebar

Install

npm i run-container

Weekly Downloads

95

Version

2.0.9

License

MIT

Unpacked Size

27.4 kB

Total Files

19

Last publish

Collaborators

  • cdaringe
  • wa11-e