介面:DockerDesktopClient

為了向後相容性,Docker Desktop API 用戶端 v0 和 v1 介面的混合。 除非您使用的是舊版擴充功能,否則請改用 v1 類型。

屬性

backend(後端)

唯讀 backend: undefined | BackendV0

window.ddClient.backend 物件可用於與擴充功能中繼資料 vm 區段中定義的後端進行通訊。 用戶端已連線到後端。

警告

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

繼承自

DockerDesktopClientV0.backend


extension(擴充功能)

唯讀 extension: Extension

ddClient.extension 物件可用於與擴充功能中繼資料 vm 區段中定義的後端進行通訊。 用戶端已連線到後端。

繼承自

DockerDesktopClientV1.extension


desktopUI(桌面 UI)

唯讀 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();

警告

它將在未來的版本中移除。 請改用 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();

警告

此方法將在未來的版本中移除。請改用 listImages

參數

名稱類型說明
options(選項)never(選填)。一個類似 JSON 的物件,例如 { "all": true, "filters": JSON.stringify({ dangling: ["true"] }), "digests": true }。更多關於不同屬性的資訊,請參閱 Docker API 端點文件

回傳值

Promise<unknown>

繼承自

DockerDesktopClientV0.listImages


navigateToContainers(): void

在 Docker Desktop 中導覽至容器視窗。

window.ddClient.navigateToContainers();

警告

此方法將在未來的版本中移除。請改用 viewContainers

回傳值

void

繼承自

DockerDesktopClientV0.navigateToContainers


navigateToContainer(id): Promise<any>

在 Docker Desktop 中導覽至容器視窗。

await window.ddClient.navigateToContainer(id);

警告

此方法將在未來的版本中移除。

參數

名稱類型說明
idstring完整的容器 ID,例如 46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28。您可以使用 docker ps 命令中的 --no-trunc 旗標來顯示完整的容器 ID。

回傳值

Promise<any>

若容器不存在,此 Promise 將會失敗。

繼承自

DockerDesktopClientV0.navigateToContainer


▸ **navigateToContainerLogs**( `id`): `Promise`<`any`>

在 Docker Desktop 中導覽至容器日誌視窗。

await window.ddClient.navigateToContainerLogs(id);

警告

此方法將在未來的版本中移除。

參數

名稱類型說明
idstring完整的容器 ID,例如 46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28。您可以使用 docker ps 命令中的 --no-trunc 旗標來顯示完整的容器 ID。

回傳值

Promise<any>

若容器不存在,此 Promise 將會失敗。

繼承自

DockerDesktopClientV0.navigateToContainerLogs


▸ **navigateToContainerInspect**( `id`): `Promise`<`any`>

在 Docker Desktop 中導覽至容器檢查視窗。

await window.ddClient.navigateToContainerInspect(id);

警告

此方法將在未來的版本中移除。

參數

名稱類型說明
idstring完整的容器 ID,例如 46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28。您可以使用 docker ps 命令中的 --no-trunc 旗標來顯示完整的容器 ID。

回傳值

Promise<any>

若容器不存在,此 Promise 將會失敗。

繼承自

DockerDesktopClientV0.navigateToContainerInspect


▸ **navigateToContainerStats**( `id`): `Promise`<`any`>

導覽至容器統計資訊,以查看 CPU、記憶體、磁碟讀/寫和網路 I/O 使用情況。

await window.ddClient.navigateToContainerStats(id);

警告

此方法將在未來的版本中移除。

參數

名稱類型說明
idstring完整的容器 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 中導覽至由 `id` 和 `tag` 指定的特定映像檔。在此導覽路徑中,您可以找到映像檔層、指令、建立時間和大小。

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

警告

此方法將在未來的版本中移除。請改用 viewImage

參數

名稱類型說明
idstring完整的映像檔 ID(包含 sha),例如 `sha256:34ab3ae068572f4e85c448b4035e6be5e19cc41f69606535cd4d768a63432673`。
tagstring映像檔的標籤,例如 `latest`、`0.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

參數

名稱類型說明
volumestring磁碟區的名稱,例如 `my-volume`。

回傳值

void

繼承自

DockerDesktopClientV0.navigateToVolume


▸ **navigateToDevEnvironments**(): `void`

在 Docker Desktop 中導覽至開發環境視窗。

window.ddClient.navigateToDevEnvironments();

警告

此方法將在未來的版本中移除。請改用 viewDevEnvironments

回傳值

void

繼承自

DockerDesktopClientV0.navigateToDevEnvironments


其他方法

execHostCmd(執行主機指令)

▸ **execHostCmd**( `cmd`): `Promise`<`ExecResultV0`>

您可以執行在擴充功能中繼資料主機區段中定義的二進制檔案。

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

警告

此方法將在未來的版本中移除。請改用 exec

參數

名稱類型說明
cmdstring要執行的指令。

回傳值

`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);
    // Once the command exits we get the status code
    if (data.code) {
      console.log(data.code);
    }
  }
);

警告

此方法將在未來的版本中移除。請改用 exec

參數

名稱類型說明
cmdstring要執行的指令。
argsstring[]要執行的指令的參數。
callback( `data`: `any`, `error`: `any`) => `void`用於監聽指令輸出資料和錯誤的回呼函式。

回傳值

void

繼承自

DockerDesktopClientV0.spawnHostCmd


execDockerCmd(執行 Docker 指令)

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

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

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

警告

此方法將在未來的版本中移除。請改用 exec

參數

名稱類型說明
cmdstring要執行的指令。
...argsstring[]要執行的指令的參數。

回傳值

`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(產生 Docker 指令)

▸ **spawnDockerCmd**( `cmd`, `args`, `callback`): `void`

警告

此方法將在未來的版本中移除。請改用 exec

參數

名稱類型
cmdstring
argsstring[]
callback( `data`: `any`, `error`: `any`) => `void`

回傳值

void

繼承自

DockerDesktopClientV0.spawnDockerCmd


openExternal(開啟外部)

▸ **openExternal**( `url`): `void`

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

window.ddClient.openExternal("https://docker.dev.org.tw");

警告

此方法將在未來的版本中移除。請改用 openExternal

參數

名稱類型說明
urlstring瀏覽器開啟的 URL(必須包含 `http` 或 `https` 通訊協定)。

回傳值

void

繼承自

DockerDesktopClientV0.openExternal


Toast 方法

toastSuccess(Toast 成功)

▸ **toastSuccess**( `msg`): `void`

顯示類型為成功的快顯訊息。

window.ddClient.toastSuccess("message");

警告`

此方法將在未來的版本中移除。請改用 success

參數

名稱類型說明
msgstring要在快顯訊息中顯示的訊息。

回傳值

void

繼承自

DockerDesktopClientV0.toastSuccess


toastWarning(Toast 警告)

▸ **toastWarning**( `msg`): `void`

顯示類型為警告的快顯訊息。

window.ddClient.toastWarning("message");

警告

此方法將在未來的版本中移除。請改用 warning

參數

名稱類型說明
msgstring要在快顯訊息中顯示的訊息。

回傳值

void

繼承自

DockerDesktopClientV0.toastWarning


toastError(Toast 錯誤)

▸ **toastError**( `msg`): `void`

顯示類型為錯誤的快顯訊息。

window.ddClient.toastError("message");

警告

此方法將在未來的版本中移除。請改用 error

參數

名稱類型說明
msgstring要在快顯訊息中顯示的訊息。

回傳值

void

繼承自

DockerDesktopClientV0.toastError