docs/desktop/extensions-sdk/dev/api/reference/interfaces/Docker.md

3.9 KiB

title description keywords
Docker extension API reference Docker extension API reference Docker, extensions, sdk, API, reference

Interface: Docker

Table of contents

Properties

Methods

Properties

cli

Readonly cli: DockerCommand

You can also directly execute the docker binary.

const output = await ddClient.docker.cli.exec("info", [
  "--format",
  {% raw %}'"{{ json . }}"',{% endraw %}
]);

Output:

{
  "stderr": "...",
  "stdout": "..."
}

In this example the docker command output is a json output. For convenience, the command result object also has methods to easily parse it. See ExecResult instead.


Streams the output as a result of the execution of a docker command. It is useful when the output of the command is too long, or you need to get the output as a stream.

await ddClient.docker.cli.exec("logs", ["-f", "..."], {
  stream: {
    onOutput(data): void {
      // As we can receive both `stdout` and `stderr`, we wrap them in a JSON object
      JSON.stringify(
        {
          stdout: data.stdout,
          stderr: data.stderr,
        },
        null,
        "  "
      );
    },
    onError(error: any): void {
      console.error(error);
    },
    onClose(exitCode: number): void {
      console.log("onClose with exit code " + exitCode);
    },
  },
});

Methods

listContainers

listContainers(options?): Promise<unknown>

Get the list of running containers (same as docker ps).

By default, this will not list stopped containers. You can use the option {"all": true} to list all the running and stopped containers.

const containers = await ddClient.docker.listContainers();

Parameters

Name Type Description
options? any (Optional). A JSON like { "all": true, "limit": 10, "size": true, "filters": JSON.stringify({ status: ["exited"] }), } For more information about the different properties see the Docker API endpoint documentation.

Returns

Promise<unknown>


listImages

listImages(options?): Promise<unknown>

Get the list of local container images

const images = await ddClient.docker.listImages();

Parameters

Name Type Description
options? any (Optional). A JSON like { "all": true, "filters": JSON.stringify({ dangling: ["true"] }), "digests": true } For more information about the different properties see the Docker API endpoint documentation.

Returns

Promise<unknown>