@ethronjs/plugin.docker
v0.2.1
Published
Ethron.js plugin for running Docker commands.
Readme
@ethronjs/plugin.docker
Developed in Dogma, compiled to JavaScript.
Engineered in Valencia, Spain, EU by EthronLabs.
Use
const docker = require("@ethronjs/plugin.docker")docker.pull task
This task pulls an image from Docker:
docker.pull({image})
docker.pull(image)image(string). The image to pull.
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();