接口: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
▸ navigateToContainers(): void
导航到 Docker Desktop 中的容器窗口。
window.ddClient.navigateToContainers();Warning它将在未来版本中被移除。请使用 viewContainers 替代。
返回
void
继承自
DockerDesktopClientV0.navigateToContainers
navigateToContainer
▸ 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
▸ 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
▸ 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
▸ 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
▸ navigateToImages(): void
导航到 Docker Desktop 中的镜像窗口。
await window.ddClient.navigateToImages(id);Warning它将在未来版本中被移除。请使用 viewImages 替代。
返回
void
继承自
DockerDesktopClientV0.navigateToImages
navigateToImage
▸ navigateToImage(id, tag): Promise<any>
导航到 Docker Desktop 中由 id 和 tag 引用的特定镜像。
在此导航路由中,你可以找到镜像层、命令、创建时间和大小。
await window.ddClient.navigateToImage(id, tag);Warning它将在未来版本中被移除。请使用 viewImage 替代。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
id |
string |
完整的镜像 ID(包括 sha),例如 sha256:34ab3ae068572f4e85c448b4035e6be5e19cc41f69606535cd4d768a63432673。 |
tag |
string |
镜像的标签,例如 latest、0.0.1 等。 |
返回
Promise<any>
如果容器不存在,则此 Promise 会失败。
继承自
DockerDesktopClientV0.navigateToImage
navigateToVolumes
▸ navigateToVolumes(): void
导航到 Docker Desktop 中的卷窗口。
await window.ddClient.navigateToVolumes();Warning它将在未来版本中被移除。请使用 viewVolumes 替代。
返回
void
继承自
DockerDesktopClientV0.navigateToVolumes
navigateToVolume
▸ 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(必须具有 http 或 https 协议)。 |
返回
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