justo.plugin.docker

1.0.0-alpha2.2 • Public • Published

justo.plugin.docker

Justo plugin for Docker.

Developed in Dogma, compiled to JavaScript.

Engineered in Valencia, Spain, EU by Justo Labs.

Use

const docker = require("justo.plugin.docker")

docker.build task

This task builds an image from a Dockerfile:

docker.build({file, tag, args, quiet})
  • file (string). Dockerfile to use from the current directory. Default: Dockerfile.
  • tag (string or string[]). Tags to set.
  • args (object[]). Build variables.
  • quiet (bool). Suppress the build output.

Example:

docker.build({
  file: "dockerfiles/Alpine",
  tag: ["justo/alpine-ssh:latest", "justo/alpine-ssh:1.0"]
});

docker.images task

This task gets image infos:

docker.images() : object[]

The task returns a list with items as {repo, id, tag}.

Example:

imgs = docker.images();

docker.rmi task

This task removes an image:

docker.rmi({image, force, noPrune})
  • image (string, required). Image name.
  • force (bool). Force removal.
  • noPrune (bool). Do not delete untagged parents.

Example:

docker.rmi({
  image: "justo/alpine-ssh:latest"
});

docker.create task

This task creates a container:

docker.create({container, image, cmd, publish, rm, workdir, env})
  • image (string, required). Image.
  • container (string, required). Container name.
  • cmd (string). Command to run.
  • publish (string, string []). Publish container port(s).
  • rm (bool). Remove container when it exists.
  • workdir (string). Working directory inside the container.
  • env (string). File with the environment variables.
  • volume (object). Volumes to mount. Each entry is a volume, where: its key is the volume name in the container; and the value, the entry to mount in the host.

Example:

docker.create({
  container: "alpinessh",
  image: "justo/alpine-ssh:latest",
  publish: "127.0.0.1:22222:22"
});

docker.run task

This task runs a command in a new container:

docker.run({image, container, cmd, detach, publish, rm, workdir, env, volume})
  • image (string, required). Image.
  • container (string). Container name.
  • cmd (string). Command to run.
  • detach (bool). Run container in background.
  • interactive (bool). Keep STDIN open even if not attached.
  • tty (bool). Allocate a pseudo-TTY.
  • publish (string, string []). Publish container port(s).
  • rm (bool). Remove container when it exists.
  • workdir (string). Working directory inside the container.
  • env (string). File with the environment variables.
  • volume (object). Volumes to mount. Each entry is a volume, where: its key is the volume name in the container; and the value, the entry to mount in the host.

Example:

docker.run({
  image: "node:9-alpine",
  container: "node9",
  detach: true,
  interactive: true,
  tty: true,
  rm: true,
  volume: {
    "/data": process.cwd()
  }
});

docker.start task

This task starts a container:

docker.start({container})
  • container (string, required). Container name.

Example:

docker.start({
  container: "alpinessh"
});

docker.stop task

This task stops a running container:

docker.stop({container, time})
  • container (string, required). Container name.
  • time (number). Seconds to wait for stop before killing it.

Example:

docker.stop({
  container: "alpinessh"
});

docker.kill task

This task kills a running container:

docker.kill({container, signal})
  • container (string, required). Container name.
  • signal (number). Signal to send to the container.

Example:

docker.kill({
  container: "alpinessh"
});

docker.restart task

This task restarts a container:

docker.restart({container})
  • container (string, required). Container name.

Example:

docker.restart({
  container: "alpinessh"
});

docker.exec task

This task executes a command:

docker.exec({container, cmd, detach})
  • container (string, required). Container name.
  • cmd (string, required). Command to run.
  • detach (bool). Run command in background.

Example:

docker.exec({
  container: "arangodb",
  cmd: "arangosh --server.username root --server.password arango --javascript.execute-string 'db._createDatabase(\"test\")'"
});

docker.ps task

This task gets container infos:

docker.ps({all}) : object[]
  • all (bool). Get all containers.

The task returns a list with items as {names, id, image}.

Example:

containers = docker.ps();

Readme

Keywords

Package Sidebar

Install

npm i justo.plugin.docker

Homepage

justo.rocks

Weekly Downloads

0

Version

1.0.0-alpha2.2

License

none

Unpacked Size

18.4 kB

Total Files

15

Last publish

Collaborators

  • justojs