Share feedback
Answers are generated based on the documentation.

接口:DockerDesktopClient

Docker Desktop API 客户端的 v0 和 v1 接口的集合,出于向后兼容性原因而提供。除非你正在使用旧版扩展,否则请使用 v1 类型。

属性

backend

Readonly backend: undefined | BackendV0

window.ddClient.backend 对象可用于与在扩展元数据的 vm 部分定义的后端进行通信。 客户端已连接到后端。

Warning

它将在未来版本中被移除。请使用 extension 替代。

继承自

DockerDesktopClientV0.backend


extension

Readonly extension: Extension

ddClient.extension 对象可用于与在扩展元数据的 vm 部分定义的后端进行通信。 客户端已连接到后端。

继承自

DockerDesktopClientV1.extension


desktopUI

Readonly desktopUI: DesktopUI

继承自

DockerDesktopClientV1.desktopUI


host

Readonly host: Host

继承自

DockerDesktopClientV1.host


docker

Readonly docker: Docker

继承自

DockerDesktopClientV1.docker

容器方法

listContainers

listContainers(options): Promise<unknown>

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

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

const containers = await window.ddClient.listContainers();
Warning

它将在未来版本中被移除。请使用 listContainers 替代。

参数

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

返回

Promise<unknown>

继承自

DockerDesktopClientV0.listContainers


镜像方法

listImages

listImages(options): Promise<unknown>

获取镜像列表

const images = await window.ddClient.listImages();
Warning

它将在未来版本中被移除。请使用 listImages 替代。

参数

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

返回

Promise<unknown>

继承自

DockerDesktopClientV0.listImages


导航方法

navigateToContainers(): void

导航到 Docker Desktop 中的容器窗口。

window.ddClient.navigateToContainers();
Warning

它将在未来版本中被移除。请使用 viewContainers 替代。

返回

void

继承自

DockerDesktopClientV0.navigateToContainers


navigateToContainer(id): Promise<any>

导航到 Docker Desktop 中的容器窗口。

await window.ddClient.navigateToContainer(id);
Warning

它将在未来版本中被移除。

参数

名称 类型 描述
id string 完整的容器 ID,例如 46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28。你可以使用 docker ps 命令中的 --no-trunc 标志来显示完整的容器 ID。

返回

Promise<any>

如果容器不存在,则此 Promise 会失败。

继承自

DockerDesktopClientV0.navigateToContainer


navigateToContainerLogs(id): Promise<any>

导航到 Docker Desktop 中的容器日志窗口。

await window.ddClient.navigateToContainerLogs(id);
Warning

它将在未来版本中被移除。

参数

名称 类型 描述
id string 完整的容器 ID,例如 46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28。你可以使用 docker ps 命令中的 --no-trunc 标志来显示完整的容器 ID。

返回

Promise<any>

如果容器不存在,则此 Promise 会失败。

继承自

DockerDesktopClientV0.navigateToContainerLogs


navigateToContainerInspect(id): Promise<any>

导航到 Docker Desktop 中的容器检查窗口。

await window.ddClient.navigateToContainerInspect(id);
Warning

它将在未来版本中被移除。

参数

名称 类型 描述
id string 完整的容器 ID,例如 46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28。你可以使用 docker ps 命令中的 --no-trunc 标志来显示完整的容器 ID。

返回

Promise<any>

如果容器不存在,则此 Promise 会失败。

继承自

DockerDesktopClientV0.navigateToContainerInspect


navigateToContainerStats(id): Promise<any>

导航到容器统计信息以查看 CPU、内存、磁盘读/写和网络 I/O 使用情况。

await window.ddClient.navigateToContainerStats(id);
Warning

它将在未来版本中被移除。

参数

名称 类型 描述
id string 完整的容器 ID,例如 46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28。你可以使用 docker ps 命令中的 --no-trunc 标志来显示完整的容器 ID。

返回

Promise<any>

如果容器不存在,则此 Promise 会失败。

继承自

DockerDesktopClientV0.navigateToContainerStats


navigateToImages(): void

导航到 Docker Desktop 中的镜像窗口。

await window.ddClient.navigateToImages(id);
Warning

它将在未来版本中被移除。请使用 viewImages 替代。

返回

void

继承自

DockerDesktopClientV0.navigateToImages


navigateToImage(id, tag): Promise<any>

导航到 Docker Desktop 中由 idtag 引用的特定镜像。 在此导航路由中,你可以找到镜像层、命令、创建时间和大小。

await window.ddClient.navigateToImage(id, tag);
Warning

它将在未来版本中被移除。请使用 viewImage 替代。

参数

名称 类型 描述
id string 完整的镜像 ID(包括 sha),例如 sha256:34ab3ae068572f4e85c448b4035e6be5e19cc41f69606535cd4d768a63432673
tag string 镜像的标签,例如 latest0.0.1 等。

返回

Promise<any>

如果容器不存在,则此 Promise 会失败。

继承自

DockerDesktopClientV0.navigateToImage


navigateToVolumes(): void

导航到 Docker Desktop 中的卷窗口。

await window.ddClient.navigateToVolumes();
Warning

它将在未来版本中被移除。请使用 viewVolumes 替代。

返回

void

继承自

DockerDesktopClientV0.navigateToVolumes


navigateToVolume(volume): void

导航到 Docker Desktop 中的特定卷。

window.ddClient.navigateToVolume(volume);
Warning

它将在未来版本中被移除。请使用 viewVolume 替代。

参数

名称 类型 描述
volume string 卷的名称,例如 my-volume

返回

void

继承自

DockerDesktopClientV0.navigateToVolume


其他方法

execHostCmd

execHostCmd(cmd): Promise<ExecResultV0>

在宿主机上调用一个二进制文件。该二进制文件通常通过扩展元数据的 host 部分随你的扩展一起提供。请注意,扩展以用户访问权限运行,此 API 不限于扩展元数据的 host 部分列出的二进制文件(某些扩展可能在用户交互期间安装软件,并调用新安装的二进制文件,即使它们未在扩展元数据中列出)。

window.ddClient.execHostCmd(`cliShippedOnHost xxx`).then((cmdResult: any) => {
 console.log(cmdResult);
});
Warning

它将在未来版本中被移除。请使用 exec 替代。

参数

名称 类型 描述
cmd string 要执行的命令。

返回

Promise<ExecResultV0>

继承自

DockerDesktopClientV0.execHostCmd


spawnHostCmd

spawnHostCmd(cmd, args, callback): void

在你的宿主机上调用一个扩展二进制文件并获取输出流。

window.ddClient.spawnHostCmd(
  `cliShippedOnHost`,
  [`arg1`, `arg2`],
  (data: any, err: any) => {
    console.log(data.stdout, data.stderr);
    // 一旦命令退出,我们就会获取状态码
    if (data.code) {
      console.log(data.code);
    }
  }
);
Warning

它将在未来版本中被移除。请使用 exec 替代。

参数

名称 类型 描述
cmd string 要执行的命令。
args string[] 要执行的命令的参数。
callback (data: any, error: any) => void 用于监听命令输出数据和错误的回调函数。

返回

void

继承自

DockerDesktopClientV0.spawnHostCmd


execDockerCmd

execDockerCmd(cmd, ...args): Promise<ExecResultV0>

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

const output = await window.ddClient.execDockerCmd("info");
Warning

它将在未来版本中被移除。请使用 exec 替代。

参数

名称 类型 描述
cmd string 要执行的命令。
...args string[] 要执行的命令的参数。

返回

Promise<ExecResultV0>

结果将包含已执行命令的标准输出和标准错误:

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

为方便起见,命令结果对象还提供了一些方法,可以根据输出格式轻松解析它:

  • output.lines(): string[] 分割输出行。
  • output.parseJsonObject(): any 解析格式良好的 JSON 输出。
  • output.parseJsonLines(): any[] 将每行输出解析为 JSON 对象。

如果命令输出太长,或者你需要以流的形式获取输出,你可以使用

  • spawnDockerCmd 函数:
window.ddClient.spawnDockerCmd("logs", ["-f", "..."], (data, error) => {
  console.log(data.stdout);
});

继承自

DockerDesktopClientV0.execDockerCmd


spawnDockerCmd

spawnDockerCmd(cmd, args, callback): void

Warning

它将在未来版本中被移除。请使用 exec 替代。

参数

名称 类型
cmd string
args string[]
callback (data: any, error: any) => void

返回

void

继承自

DockerDesktopClientV0.spawnDockerCmd


openExternal

openExternal(url): void

使用系统默认浏览器打开一个外部 URL。

window.ddClient.openExternal("https://docker.com");
Warning

它将在未来版本中被移除。请使用 openExternal 替代。

参数

名称 类型 描述
url string 浏览器打开的 URL(必须具有 httphttps 协议)。

返回

void

继承自

DockerDesktopClientV0.openExternal


Toast 通知方法

toastSuccess

toastSuccess(msg): void

显示成功类型的 Toast 通知消息。

window.ddClient.toastSuccess("message");
Warning

它将在未来版本中被移除。请使用 success 替代。

参数

名称 类型 描述
msg string 要在 Toast 通知中显示的消息。

返回

void

继承自

DockerDesktopClientV0.toastSuccess


toastWarning

toastWarning(msg): void

显示警告类型的 Toast 通知消息。

window.ddClient.toastWarning("message");
Warning

它将在未来版本中被移除。请使用 warning 替代。

参数

名称 类型 描述
msg string 要在 Toast 通知中显示的消息。

返回

void

继承自

DockerDesktopClientV0.toastWarning


toastError

toastError(msg): void

显示错误类型的 Toast 通知消息。

window.ddClient.toastError("message");
Warning

它将在未来版本中被移除。请使用 error 替代。

参数

名称 类型 描述
msg string 要在 Toast 通知中显示的消息。

返回

void

继承自

DockerDesktopClientV0.toastError