@ethronpi/docker
v0.3.0
Published
Ethron.js plugin for running Docker commands.
Downloads
1
Readme
@ethronpi/docker
Developed in Dogma, compiled to JavaScript.
Engineered in Valencia, Spain, EU by EthronLabs.
Use
const docker = require("@ethronpi/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();