Skip to main content

docker_deno

A fully typed, async-first docker client library for Deno.

Installation

import Docker from "https://deno.land/x/docker_deno/mod.ts"

Add this to your deno.json file, to upgrade version just edit the version here and use the above url in your code.

{
  "imports": {
    "https://deno.land/x/docker_deno/": "https://deno.land/x/docker_deno@v0.3.2/"
  }
}

Usage

Simple example

import Docker from "https://deno.land/x/docker_deno/mod.ts"

const docker = new Docker("/var/run/docker.sock");
const container = await docker.containers.create("my_container", {
  Image: "alpine",
  Cmd: ["ls"],
  StopTimeout: 10,
});
await docker.containers.start(container.Id);

Manipulating containers

// Fetch the list of currently running containers
const containers = await docker.containers.list({all: true});

// Create a container
const container = await docker.containers.create("my_container", {
  Image: "alpine",
  Cmd: ["echo", "hello"],
});

// Start the container
await docker.containers.start(container.Id);

// Stop a container
await docker.containers.stop(container.Id);

// Kill a container
await docker.containers.kill(container.Id, "SIGKILL");

// Restart a container
await docker.containers.restart(container.Id);

// Wait until the container has finished running
await docker.container.wait(container.Id);

// Delete a container
await docker.containers.rm(container.Id);

// Get Container stats: https://docs.docker.com/engine/api/v1.40/#tag/Container/operation/ContainerStats
await docker.containers.stats(container.Id)

Images

// List images 
await docker.images.list(ImageListOptions)

// Pull Image
await docker.images.pull('lthn/chain:latest');

// Create Image including pulling the image https://docs.docker.com/engine/api/v1.40/#tag/Image/operation/ImageCreate
await docker.images.create('ubuntu', {fromImage: "ubuntu", fromSrc:'', tag: 'latest', repo: '', platform: "linux/amd64", message: "test"})

API reference

Containers

Image