Interface: DockerDesktopClient
Interface: DockerDesktopClient
Docker Desktop 확장 SDK의 DockerDesktopClient 인터페이스예요. 확장 기능이 Docker Desktop의 핵심 기능(데스크톱 UI, Docker, 백엔드, 호스트 등)에 접근하기 위한 진입점이에요.
출처: 문서
본문
Interface: DockerDesktopClient
An amalgam of the v0 and v1 interfaces of the Docker Desktop API client, provided for backwards compatibility reasons. Unless you're working with a legacy extension, use the v1 type instead.
속성
backend
• Readonly backend: undefined | BackendV0BackendV0)
The window.ddClient.backend object can be used to communicate with the backend defined in the vm section of
the extension metadata.
The client is already connected to the backend.
Warning
It will be removed in a future version. Use extensionextension) instead.
Inherited from
DockerDesktopClientV0.backend
extension
• Readonly extension: ExtensionExtension)
The ddClient.extension object can be used to communicate with the backend defined in the vm section of the
extension metadata.
The client is already connected to the backend.
Inherited from
DockerDesktopClientV1.extension
desktopUI
• Readonly desktopUI: DesktopUIDesktopUI)
Inherited from
DockerDesktopClientV1.desktopUI
host
• Readonly host: HostHost)
Inherited from
DockerDesktopClientV1.host
docker
• Readonly docker: DockerDocker)
Inherited from
DockerDesktopClientV1.docker
컨테이너 메서드
listContainers
▸ listContainers(options): Promise<unknown>
Get the list of running containers (same as docker ps).
By default, this will not list stopped containers.
You can use the option {"all": true} to list all the running and stopped containers.
const containers = await window.ddClient.listContainers();
Warning
It will be removed in a future version. Use listContainerslistContainers) instead.
파라미터
Name | Type | Description
options | never | (Optional). A JSON like { "all": true, "limit": 10, "size": true, "filters": JSON.stringify({ status: ["exited"] }), } For more information about the different properties see the Docker API endpoint documentationthe Docker API endpoint documentation).
반환값
Promise<unknown>
Inherited from
DockerDesktopClientV0.listContainers
Image Methods
listImages
▸ listImages(options): Promise<unknown>
Get the list of images
const images = await window.ddClient.listImages();
Warning
It will be removed in a future version. Use listImageslistImages) instead.
파라미터
Name | Type | Description
options | never | (Optional). A JSON like { "all": true, "filters": JSON.stringify({ dangling: ["true"] }), "digests": true } For more information about the different properties see the Docker API endpoint documentationthe Docker API endpoint documentation).
반환값
Promise<unknown>
Inherited from
DockerDesktopClientV0.listImages
Navigation Methods
navigateToContainers
▸ navigateToContainers(): void
Navigate to the container's window in Docker Desktop.
window.ddClient.navigateToContainers();
Warning
It will be removed in a future version. Use viewContainersviewContainers) instead.
반환값
void
Inherited from
DockerDesktopClientV0.navigateToContainers
navigateToContainer
▸ navigateToContainer(id): Promise<any>
Navigate to the container window in Docker Desktop.
await window.ddClient.navigateToContainer(id);
Warning
It will be removed in a future version.
파라미터
Name | Type | Description
id | string | The full container id, e.g. 46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28. You can use the --no-trunc flag as part of the docker ps command to display the full container id.
반환값
Promise<any>
A promise that fails if the container doesn't exist.
Inherited from
DockerDesktopClientV0.navigateToContainer
navigateToContainerLogs
▸ navigateToContainerLogs(id): Promise<any>
Navigate to the container logs window in Docker Desktop.
await window.ddClient.navigateToContainerLogs(id);
Warning
It will be removed in a future version.
파라미터
Name | Type | Description
id | string | The full container id, e.g. 46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28. You can use the --no-trunc flag as part of the docker ps command to display the full container id.
반환값
Promise<any>
A promise that fails if the container doesn't exist.
Inherited from
DockerDesktopClientV0.navigateToContainerLogs
navigateToContainerInspect
▸ navigateToContainerInspect(id): Promise<any>
Navigate to the container inspect window in Docker Desktop.
await window.ddClient.navigateToContainerInspect(id);
Warning
It will be removed in a future version.
파라미터
Name | Type | Description
id | string | The full container id, e.g. 46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28. You can use the --no-trunc flag as part of the docker ps command to display the full container id.
반환값
Promise<any>
A promise that fails if the container doesn't exist.
Inherited from
DockerDesktopClientV0.navigateToContainerInspect
navigateToContainerStats
▸ navigateToContainerStats(id): Promise<any>
Navigate to the container stats to see the CPU, memory, disk read/write and network I/O usage.
await window.ddClient.navigateToContainerStats(id);
Warning
It will be removed in a future version.
파라미터
Name | Type | Description
id | string | The full container id, e.g. 46b57e400d801762e9e115734bf902a2450d89669d85881058a46136520aca28. You can use the --no-trunc flag as part of the docker ps command to display the full container id.
반환값
Promise<any>
A promise that fails if the container doesn't exist.
Inherited from
DockerDesktopClientV0.navigateToContainerStats
navigateToImages
▸ navigateToImages(): void
Navigate to the images window in Docker Desktop.
await window.ddClient.navigateToImages(id);
Warning
It will be removed in a future version. Use viewImagesviewImages) instead.
반환값
void
Inherited from
DockerDesktopClientV0.navigateToImages
navigateToImage
▸ navigateToImage(id, tag): Promise<any>
Navigate to a specific image referenced by id and tag in Docker Desktop.
In this navigation route you can find the image layers, commands, created time and size.
await window.ddClient.navigateToImage(id, tag);
Warning
It will be removed in a future version. Use viewImageviewImage) instead.
파라미터
Name | Type | Description
id | string | The full image id (including sha), e.g. sha256:34ab3ae068572f4e85c448b4035e6be5e19cc41f69606535cd4d768a63432673.
tag | string | The tag of the image, e.g. latest, 0.0.1, etc.
반환값
Promise<any>
A promise that fails if the container doesn't exist.
Inherited from
DockerDesktopClientV0.navigateToImage
navigateToVolumes
▸ navigateToVolumes(): void
Navigate to the volumes window in Docker Desktop.
await window.ddClient.navigateToVolumes();
Warning
It will be removed in a future version. Use viewVolumesviewVolumes) instead.
반환값
void
Inherited from
DockerDesktopClientV0.navigateToVolumes
navigateToVolume
▸ navigateToVolume(volume): void
Navigate to a specific volume in Docker Desktop.
window.ddClient.navigateToVolume(volume);
Warning
It will be removed in a future version. Use viewVolumeviewVolume) instead.
파라미터
Name | Type | Description
volume | string | The name of the volume, e.g. my-volume.
반환값
void
Inherited from
DockerDesktopClientV0.navigateToVolume
기타 메서드
execHostCmd
▸ execHostCmd(cmd): Promise<ExecResultV0ExecResultV0)>
Invoke a binary on the host. The binary is typically shipped with your extension using the host section in the extension metadata. Note that extensions run with user access rights, this API is not restricted to binaries listed in the host section of the extension metadata (some extensions might install software during user interaction, and invoke newly installed binaries even if not listed in the extension metadata)
window.ddClient.execHostCmd(`cliShippedOnHost xxx`).then((cmdResult: any) => {
console.log(cmdResult);
});
Warning
It will be removed in a future version. Use execexec) instead.
파라미터
Name | Type | Description
cmd | string | The command to be executed.
반환값
Promise<ExecResultV0ExecResultV0)>
Inherited from
DockerDesktopClientV0.execHostCmd
spawnHostCmd
▸ spawnHostCmd(cmd, args, callback): void
Invoke an extension binary on your host and get the output stream.
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);
}
}
);
Warning
It will be removed in a future version. Use execexec) instead.
파라미터
Name | Type | Description
cmd | string | The command to be executed.
args | string[] | The arguments of the command to execute.
callback | (data: any, error: any) => void | The callback function where to listen from the command output data and errors.
반환값
void
Inherited from
DockerDesktopClientV0.spawnHostCmd
execDockerCmd
▸ execDockerCmd(cmd, ...args): Promise<ExecResultV0ExecResultV0)>
You can also directly execute the Docker binary.
const output = await window.ddClient.execDockerCmd("info");
Warning
It will be removed in a future version. Use execexec) instead.
파라미터
Name | Type | Description
cmd | string | The command to execute.
...args | string[] | The arguments of the command to execute.
반환값
Promise<ExecResultV0ExecResultV0)>
The result will contain both the standard output and the standard error of the executed command:
{
"stderr": "...",
"stdout": "..."
}
For convenience, the command result object also has methods to easily parse it depending on the output format:
output.lines(): string[]splits output lines.output.parseJsonObject(): anyparses a well-formed JSON output.output.parseJsonLines(): any[]parses each output line as a JSON object.
If the output of the command is too long, or you need to get the output as a stream you can use the
- spawnDockerCmd function:
window.ddClient.spawnDockerCmd("logs", ["-f", "..."], (data, error) => {
console.log(data.stdout);
});
Inherited from
DockerDesktopClientV0.execDockerCmd
spawnDockerCmd
▸ spawnDockerCmd(cmd, args, callback): void
Warning
It will be removed in a future version. Use execexec) instead.
파라미터
Name | Type
cmd | string
args | string[]
callback | (data: any, error: any) => void
반환값
void
Inherited from
DockerDesktopClientV0.spawnDockerCmd
openExternal
▸ openExternal(url): void
Opens an external URL with the system default browser.
window.ddClient.openExternal("https://docker.com");
Warning
It will be removed in a future version. Use openExternalopenExternal) instead.
파라미터
Name | Type | Description
url | string | The URL the browser opens (must have the protocol http or https).
반환값
void
Inherited from
DockerDesktopClientV0.openExternal
Toast Methods
toastSuccess
▸ toastSuccess(msg): void
Display a toast message of type success.
window.ddClient.toastSuccess("message");
Warning`
It will be removed in a future version. Use successsuccess) instead.
파라미터
Name | Type | Description
msg | string | The message to display in the toast.
반환값
void
Inherited from
DockerDesktopClientV0.toastSuccess
toastWarning
▸ toastWarning(msg): void
Display a toast message of type warning.
window.ddClient.toastWarning("message");
Warning
It will be removed in a future version. Use warningwarning) instead.
파라미터
Name | Type | Description
msg | string | The message to display in the toast.
반환값
void
Inherited from
DockerDesktopClientV0.toastWarning
toastError
▸ toastError(msg): void
Display a toast message of type error.
window.ddClient.toastError("message");
Warning
It will be removed in a future version. Use errorerror) instead.
파라미터
Name | Type | Description
msg | string | The message to display in the toast.
반환값
void
Inherited from
DockerDesktopClientV0.toastError