介面: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(導航到容器)
▸ navigateToContainers(): void
在 Docker Desktop 中導覽至容器視窗。
window.ddClient.navigateToContainers();
警告
此方法將在未來的版本中移除。請改用 viewContainers。
回傳值
void
繼承自
DockerDesktopClientV0.navigateToContainers
navigateToContainer(導航到容器)
▸ navigateToContainer(id
): Promise
<any
>
在 Docker Desktop 中導覽至容器視窗。
await window.ddClient.navigateToContainer(id);
警告
此方法將在未來的版本中移除。
參數
名稱 | 類型 | 說明 |
---|---|---|
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);
警告
此方法將在未來的版本中移除。
參數
名稱 | 類型 | 說明 |
---|---|---|
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);
警告
此方法將在未來的版本中移除。
參數
名稱 | 類型 | 說明 |
---|---|---|
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);
警告
此方法將在未來的版本中移除。
參數
名稱 | 類型 | 說明 |
---|---|---|
id | string | 完整的容器 ID,例如 46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28 。您可以使用 docker ps 命令中的 --no-trunc 旗標來顯示完整的容器 ID。 |
回傳值
Promise
<any
>
若容器不存在,此 Promise 將會失敗。
繼承自
DockerDesktopClientV0.navigateToContainerStats
navigateToImages(導航到映像檔)
▸ navigateToImages(): void
在 Docker Desktop 中導覽至映像檔視窗。
await window.ddClient.navigateToImages(id);
警告
此方法將在未來的版本中移除。請改用 viewImages。
回傳值
void
繼承自
DockerDesktopClientV0.navigateToImages
navigateToImage(導航到映像檔)
▸ **navigateToImage**( `id`, `tag`): `Promise`<`any`>
在 Docker Desktop 中導覽至由 `id` 和 `tag` 指定的特定映像檔。在此導覽路徑中,您可以找到映像檔層、指令、建立時間和大小。
await window.ddClient.navigateToImage(id, tag);
警告
此方法將在未來的版本中移除。請改用 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();
警告
此方法將在未來的版本中移除。請改用 viewVolumes。
回傳值
void
繼承自
DockerDesktopClientV0.navigateToVolumes
navigateToVolume(導航到磁碟區)
▸ **navigateToVolume**( `volume`): `void`
在 Docker Desktop 中導覽至特定磁碟區。
window.ddClient.navigateToVolume(volume);
警告
此方法將在未來的版本中移除。請改用 viewVolume。
參數
名稱 | 類型 | 說明 |
---|---|---|
volume | string | 磁碟區的名稱,例如 `my-volume`。 |
回傳值
void
繼承自
DockerDesktopClientV0.navigateToVolume
navigateToDevEnvironments(導航到開發環境)
▸ **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。
參數
名稱 | 類型 | 說明 |
---|---|---|
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);
// Once the command exits we get the status code
if (data.code) {
console.log(data.code);
}
}
);
警告
此方法將在未來的版本中移除。請改用 exec。
參數
名稱 | 類型 | 說明 |
---|---|---|
cmd | string | 要執行的指令。 |
args | string [] | 要執行的指令的參數。 |
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。
參數
名稱 | 類型 | 說明 |
---|---|---|
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(產生 Docker 指令)
▸ **spawnDockerCmd**( `cmd`, `args`, `callback`): `void`
警告
此方法將在未來的版本中移除。請改用 exec。
參數
名稱 | 類型 |
---|---|
cmd | string |
args | string [] |
callback | ( `data`: `any`, `error`: `any`) => `void` |
回傳值
void
繼承自
DockerDesktopClientV0.spawnDockerCmd
openExternal(開啟外部)
▸ **openExternal**( `url`): `void`
使用系統預設瀏覽器開啟外部 URL。
window.ddClient.openExternal("https://docker.dev.org.tw");
警告
此方法將在未來的版本中移除。請改用 openExternal。
參數
名稱 | 類型 | 說明 |
---|---|---|
url | string | 瀏覽器開啟的 URL(必須包含 `http` 或 `https` 通訊協定)。 |
回傳值
void
繼承自
DockerDesktopClientV0.openExternal
Toast 方法
toastSuccess(Toast 成功)
▸ **toastSuccess**( `msg`): `void`
顯示類型為成功的快顯訊息。
window.ddClient.toastSuccess("message");
警告`
此方法將在未來的版本中移除。請改用 success。
參數
名稱 | 類型 | 說明 |
---|---|---|
msg | string | 要在快顯訊息中顯示的訊息。 |
回傳值
void
繼承自
DockerDesktopClientV0.toastSuccess
toastWarning(Toast 警告)
▸ **toastWarning**( `msg`): `void`
顯示類型為警告的快顯訊息。
window.ddClient.toastWarning("message");
警告
此方法將在未來的版本中移除。請改用 warning。
參數
名稱 | 類型 | 說明 |
---|---|---|
msg | string | 要在快顯訊息中顯示的訊息。 |
回傳值
void
繼承自
DockerDesktopClientV0.toastWarning
toastError(Toast 錯誤)
▸ **toastError**( `msg`): `void`
顯示類型為錯誤的快顯訊息。
window.ddClient.toastError("message");
警告
此方法將在未來的版本中移除。請改用 error。
參數
名稱 | 類型 | 說明 |
---|---|---|
msg | string | 要在快顯訊息中顯示的訊息。 |
回傳值
void
繼承自
DockerDesktopClientV0.toastError