介面:DockerDesktopClient

Docker Desktop API 客戶端的 v0 和 v1 介面的合併,為向後相容性而提供。除非您正在使用舊版擴充套件,否則請改用 v1 型別。

屬性

後端

Readonly backend: undefined | BackendV0

window.ddClient.backend 物件可用於與擴充套件元資料 vm 部分中定義的後端進行通訊。客戶端已連線到後端。

警告

它將在未來的版本中移除。請改用 extension

繼承自

DockerDesktopClientV0.backend


擴充套件

Readonly extension: Extension

ddClient.extension 物件可用於與擴充套件元資料 vm 部分中定義的後端進行通訊。客戶端已連線到後端。

繼承自

DockerDesktopClientV1.extension


桌面UI

Readonly desktopUI: DesktopUI

繼承自

DockerDesktopClientV1.desktopUI


host

Readonly host: Host

繼承自

DockerDesktopClientV1.host


docker

Readonly docker: Docker

繼承自

DockerDesktopClientV1.docker

容器方法

列出容器

listContainers(options): Promise<unknown>

獲取正在執行的容器列表(與 docker ps 相同)。

預設情況下,這不會列出已停止的容器。您可以使用選項 {"all": true} 列出所有正在執行和已停止的容器。

const containers = await window.ddClient.listContainers();
警告

它將在未來的版本中移除。請改用 listContainers

引數

名稱型別描述
options從不(可選)。一個 JSON 格式的 { "all": true, "limit": 10, "size": true, "filters": JSON.stringify({ status: ["exited"] }), }。有關不同屬性的更多資訊,請參閱 Docker API 端點文件

返回

Promise<未知>

繼承自

DockerDesktopClientV0.listContainers


映象方法

列出映象

listImages(options): Promise<unknown>

獲取映象列表

const images = await window.ddClient.listImages();
警告

它將在未來的版本中移除。請改用 listImages

引數

名稱型別描述
options從不(可選)。一個 JSON 格式的 { "all": true, "filters": JSON.stringify({ dangling: ["true"] }), "digests": true }。有關不同屬性的更多資訊,請參閱 Docker API 端點文件

返回

Promise<未知>

繼承自

DockerDesktopClientV0.listImages


navigateToContainers(): void

導航到 Docker Desktop 中的容器視窗。

window.ddClient.navigateToContainers();
警告

它將在未來的版本中移除。請改用 viewContainers

返回

void

繼承自

DockerDesktopClientV0.navigateToContainers


navigateToContainer(id): Promise<any>

導航到 Docker Desktop 中的容器視窗。

await window.ddClient.navigateToContainer(id);
警告

它將在未來的版本中移除。

引數

名稱型別描述
id字串完整的容器 ID,例如 `46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28`。您可以使用 `docker ps` 命令中的 `--no-trunc` 標誌來顯示完整的容器 ID。

返回

Promise<any>

如果容器不存在,則 Promise 會失敗。

繼承自

DockerDesktopClientV0.navigateToContainer


navigateToContainerLogs(id): Promise<any>

導航到 Docker Desktop 中的容器日誌視窗。

await window.ddClient.navigateToContainerLogs(id);
警告

它將在未來的版本中移除。

引數

名稱型別描述
id字串完整的容器 ID,例如 `46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28`。您可以使用 `docker ps` 命令中的 `--no-trunc` 標誌來顯示完整的容器 ID。

返回

Promise<any>

如果容器不存在,則 Promise 會失敗。

繼承自

DockerDesktopClientV0.navigateToContainerLogs


navigateToContainerInspect(id): Promise<any>

導航到 Docker Desktop 中的容器檢查視窗。

await window.ddClient.navigateToContainerInspect(id);
警告

它將在未來的版本中移除。

引數

名稱型別描述
id字串完整的容器 ID,例如 `46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28`。您可以使用 `docker ps` 命令中的 `--no-trunc` 標誌來顯示完整的容器 ID。

返回

Promise<any>

如果容器不存在,則 Promise 會失敗。

繼承自

DockerDesktopClientV0.navigateToContainerInspect


navigateToContainerStats(id): Promise<any>

導航到容器統計資訊以檢視 CPU、記憶體、磁碟讀/寫和網路 I/O 使用情況。

await window.ddClient.navigateToContainerStats(id);
警告

它將在未來的版本中移除。

引數

名稱型別描述
id字串完整的容器 ID,例如 `46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28`。您可以使用 `docker ps` 命令中的 `--no-trunc` 標誌來顯示完整的容器 ID。

返回

Promise<any>

如果容器不存在,則 Promise 會失敗。

繼承自

DockerDesktopClientV0.navigateToContainerStats


navigateToImages(): void

導航到 Docker Desktop 中的映象視窗。

await window.ddClient.navigateToImages(id);
警告

它將在未來的版本中移除。請改用 viewImages

返回

void

繼承自

DockerDesktopClientV0.navigateToImages


navigateToImage(id, tag): Promise<any>

導航到 Docker Desktop 中由 idtag 引用的特定映象。在此導航路線中,您可以找到映象層、命令、建立時間和大小。

await window.ddClient.navigateToImage(id, tag);
警告

它將在未來的版本中移除。請改用 viewImage

引數

名稱型別描述
id字串完整的映象 ID(包括 sha),例如 sha256:34ab3ae068572f4e85c448b4035e6be5e19cc41f69606535cd4d768a63432673
tag字串映象的標籤,例如 latest0.0.1 等。

返回

Promise<any>

如果容器不存在,則 Promise 會失敗。

繼承自

DockerDesktopClientV0.navigateToImage


navigateToVolumes(): void

導航到 Docker Desktop 中的卷視窗。

await window.ddClient.navigateToVolumes();
警告

它將在未來的版本中移除。請改用 viewVolumes

返回

void

繼承自

DockerDesktopClientV0.navigateToVolumes


navigateToVolume(volume): void

導航到 Docker Desktop 中的特定卷。

window.ddClient.navigateToVolume(volume);
警告

它將在未來的版本中移除。請改用 viewVolume

引數

名稱型別描述
字串卷的名稱,例如 my-volume

返回

void

繼承自

DockerDesktopClientV0.navigateToVolume


其他方法

執行主機命令

execHostCmd(cmd): Promise<ExecResultV0>

您可以在擴充套件元資料的主機部分執行定義的二進位制檔案。

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

它將在未來的版本中移除。請改用 exec

引數

名稱型別描述
命令字串要執行的命令。

返回

Promise<ExecResultV0>

繼承自

DockerDesktopClientV0.execHostCmd


啟動主機命令

spawnHostCmd(cmd, args, callback): void

在主機上呼叫擴充套件二進位制檔案並獲取輸出流。

window.ddClient.spawnHostCmd(
  `cliShippedOnHost`,
  [`arg1`, `arg2`],
  (data: any, err: any) => {
    console.log(data.stdout, data.stderr);
    // Once the command exits we get the status code
    if (data.code) {
      console.log(data.code);
    }
  }
);
警告

它將在未來的版本中移除。請改用 exec

引數

名稱型別描述
命令字串要執行的命令。
args字串[]要執行命令的引數。
回撥(data: any, error: any) => void用於監聽命令輸出資料和錯誤的回撥函式。

返回

void

繼承自

DockerDesktopClientV0.spawnHostCmd


執行Docker命令

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

您還可以直接執行 Docker 二進位制檔案。

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

它將在未來的版本中移除。請改用 exec

引數

名稱型別描述
命令字串要執行的命令。
...args字串[]要執行命令的引數。

返回

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


啟動Docker命令

spawnDockerCmd(cmd, args, callback): void

警告

它將在未來的版本中移除。請改用 exec

引數

名稱型別
命令字串
args字串[]
回撥(data: any, error: any) => void

返回

void

繼承自

DockerDesktopClientV0.spawnDockerCmd


開啟外部連結

openExternal(url): void

使用系統預設瀏覽器開啟外部 URL。

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

它將在未來的版本中移除。請改用 openExternal

引數

名稱型別描述
url字串瀏覽器開啟的 URL(必須帶有 httphttps 協議)。

返回

void

繼承自

DockerDesktopClientV0.openExternal


Toast 方法

toast成功

toastSuccess(msg): void

顯示型別為成功的 toast 訊息。

window.ddClient.toastSuccess("message");

警告`

它將在未來的版本中移除。請改用 success

引數

名稱型別描述
訊息字串要在 toast 中顯示的訊息。

返回

void

繼承自

DockerDesktopClientV0.toastSuccess


toast警告

toastWarning(msg): void

顯示型別為警告的 toast 訊息。

window.ddClient.toastWarning("message");
警告

它將在未來的版本中移除。請改用 warning

引數

名稱型別描述
訊息字串要在 toast 中顯示的訊息。

返回

void

繼承自

DockerDesktopClientV0.toastWarning


toast錯誤

toastError(msg): void

顯示型別為錯誤的 toast 訊息。

window.ddClient.toastError("message");
警告

它將在未來的版本中移除。請改用 error

引數

名稱型別描述
訊息字串要在 toast 中顯示的訊息。

返回

void

繼承自

DockerDesktopClientV0.toastError