接口: Docker

自版本

0.2.0

属性

cli

Readonly cli: DockerCommand

您也可以直接执行 Docker 二进制文件。

const output = await ddClient.docker.cli.exec("volume", [
  "ls",
  "--filter",
  "dangling=true"
]);

输出:

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

为方便起见,命令结果对象还包含一些方法,可根据输出格式轻松解析。请参阅 ExecResult


将执行 Docker 命令的结果以流的形式输出。 当命令输出过长,或者您需要以流的形式获取输出时,此功能非常有用。

await ddClient.docker.cli.exec("logs", ["-f", "..."], {
  stream: {
    onOutput(data): void {
        // 由于我们可能同时接收到 `stdout` 和 `stderr`,因此将它们包装在 JSON 对象中
        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);
    },
  },
});

方法

listContainers

listContainers(options?): Promise<unknown>

获取正在运行的容器列表(与 docker ps 相同)。

默认情况下,这不会列出已停止的容器。 您可以使用选项 {"all": true} 来列出所有正在运行和已停止的容器。

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

参数

名称 类型 描述
options? any (可选)。一个类似 { "all": true, "limit": 10, "size": true, "filters": JSON.stringify({ status: ["exited"] }), } 的 JSON 对象。有关不同属性的更多信息,请参阅 Docker API 端点文档

返回值

Promise<unknown>


listImages

listImages(options?): Promise<unknown>

获取本地容器镜像列表

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

参数

名称 类型 描述
options? any (可选)。一个类似 { "all": true, "filters": JSON.stringify({ dangling: ["true"] }), "digests": true * } 的 JSON 对象。有关不同属性的更多信息,请参阅 Docker API 端点文档

返回值

Promise<unknown>