mirror of https://github.com/docker/docs.git
57 lines
1.5 KiB
Markdown
57 lines
1.5 KiB
Markdown
---
|
|
title: "Interface: ExtensionHost"
|
|
description: Docker extension API reference
|
|
keywords: Docker, extensions, sdk, API, reference
|
|
aliases:
|
|
- /desktop/extensions-sdk/dev/api/reference/interfaces/ExtensionHost/
|
|
- /extensions/extensions-sdk/dev/api/reference/interfaces/ExtensionHost/
|
|
---
|
|
|
|
**`Since`**
|
|
|
|
0.2.0
|
|
|
|
## Properties
|
|
|
|
### cli
|
|
|
|
• `Readonly` **cli**: [`ExtensionCli`](ExtensionCli.md)
|
|
|
|
Executes a command in the host.
|
|
|
|
For example, execute the shipped binary `kubectl -h` command in the host:
|
|
|
|
```typescript
|
|
await ddClient.extension.host.cli.exec("kubectl", ["-h"]);
|
|
```
|
|
|
|
---
|
|
|
|
Streams the output of the command executed in the backend container or in the host.
|
|
|
|
Provided the `kubectl` binary is shipped as part of your extension, you can spawn the `kubectl -h` command in the host:
|
|
|
|
```typescript
|
|
await ddClient.extension.host.cli.exec("kubectl", ["-h"], {
|
|
stream: {
|
|
onOutput(data): void {
|
|
// As we can receive both `stdout` and `stderr`, we wrap them in a JSON object
|
|
JSON.stringify(
|
|
{
|
|
stdout: data.stdout,
|
|
stderr: data.stderr,
|
|
},
|
|
null,
|
|
" "
|
|
);
|
|
},
|
|
onError(error: any): void {
|
|
console.error(error);
|
|
},
|
|
onClose(exitCode: number): void {
|
|
console.log("onClose with exit code " + exitCode);
|
|
},
|
|
},
|
|
});
|
|
```
|