接口:DockerDesktopClient
Docker Desktop API 客户端 v0 和 v1 接口的混合体, 出于向后兼容性原因提供。除非您正在处理 旧版扩展,否则请改用 v1 类型。
属性
backend
• 只读 backend: undefined | BackendV0
window.ddClient.backend 对象可用于与扩展元数据中
vm 部分定义的后端进行通信。
客户端已连接到后端。
Warning将在未来版本中移除。请改用 extension。
继承自
DockerDesktopClientV0.backend
extension
• 只读 extension: Extension
ddClient.extension 对象可用于与扩展元数据中
vm 部分定义的后端进行通信。
客户端已连接到后端。
继承自
DockerDesktopClientV1.extension
desktopUI
• 只读 desktopUI: DesktopUI
继承自
DockerDesktopClientV1.desktopUI
host
• 只读 host: Host
继承自
DockerDesktopClientV1.host
docker
• 只读 docker: Docker
继承自
DockerDesktopClientV1.docker
容器方法
listContainers
▸ listContainers(options): Promise<unknown>
获取正在运行的容器列表(与 docker ps 相同)。
默认情况下,这不会列出已停止的容器。
您可以使用选项 {"all": true} 来列出所有正在运行和已停止的容器。
const containers = await window.ddClient.listContainers();Warning将在未来版本中移除。请改用 listContainers。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
options |
never |
(可选)。类似 JSON 的 { "all": true, "limit": 10, "size": true, "filters": JSON.stringify({ status: ["exited"] }), } 有关不同属性的更多信息,请参阅 Docker API 端点文档。 |
返回值
Promise<unknown>
继承自
DockerDesktopClientV0.listContainers
镜像方法
listImages
▸ listImages(options): Promise<unknown>
获取镜像列表
const images = await window.ddClient.listImages();Warning将在未来版本中移除。请改用 listImages。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
options |
never |
(可选)。类似 JSON 的 { "all": true, "filters": JSON.stringify({ dangling: ["true"] }), "digests": true } 有关不同属性的更多信息,请参阅 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>
在主机上调用二进制文件。该二进制文件通常随您的扩展一起提供,使用扩展元数据中的主机部分。请注意,扩展以用户访问权限运行,此 API 不限于扩展元数据主机部分中列出的二进制文件(某些扩展可能会在用户交互期间安装软件,并调用新安装的二进制文件,即使未在扩展元数据中列出)
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
提示消息方法
toastSuccess
▸ toastSuccess(msg): void
显示成功类型的提示消息。
window.ddClient.toastSuccess("message");Warning`
将在未来版本中移除。请改用 success。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
msg |
string |
要在提示消息中显示的消息。 |
返回值
void
继承自
DockerDesktopClientV0.toastSuccess
toastWarning
▸ toastWarning(msg): void
显示警告类型的提示消息。
window.ddClient.toastWarning("message");Warning将在未来版本中移除。请改用 warning。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
msg |
string |
要在提示消息中显示的消息。 |
返回值
void
继承自
DockerDesktopClientV0.toastWarning
toastError
▸ toastError(msg): void
显示错误类型的提示消息。
window.ddClient.toastError("message");Warning将在未来版本中移除。请改用 error。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
msg |
string |
要在提示消息中显示的消息。 |
返回值
void
继承自
DockerDesktopClientV0.toastError