Interface: ExtensionVM

Interface: ExtensionVM

Docker Desktop 확장 SDK의 ExtensionVM 인터페이스예요. 확장 VM 안에서 명령을 실행하고 결과를 받아오는 API를 제공해요.

출처: 문서

본문

Interface: ExtensionVM

Since

0.2.0

속성

cli

Readonly cli: ExtensionCliExtensionCli)

Executes a command in the backend container.

Example: Execute the command ls -l inside the backend container:

await ddClient.extension.vm.cli.exec(
  "ls",
  ["-l"]
);

Streams the output of the command executed in the backend container.

When the extension defines its own compose.yaml file with multiple containers, the command is executed on the first container defined. Change the order in which containers are defined to execute commands on another container.

Example: Spawn the command ls -l inside the backend container:

await ddClient.extension.vm.cli.exec("ls", ["-l"], {
           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);
             },
           },
         });

Param

Command to execute.

Param

Arguments of the command to execute.

Param

The callback function where to listen from the command output data and errors.

service

Optional Readonly service: HttpServiceHttpService)

더 알아보기