| 1234567891011121314151617181920212223242526272829303132333435 |
- import * as grpc from "@grpc/grpc-js";
- import * as continersPb from "./grpc/containers_grpc_pb";
- import { IContainersClient } from "./grpc/containers_grpc_pb";
- import { ListRequest, ListResponse } from "./grpc/containers_pb";
- let address = process.argv[3] || "unix:///tmp/backend.sock";
- const ContainersServiceClient = grpc.makeClientConstructor(
- continersPb["com.docker.api.containers.v1.Containers"],
- "ContainersClient"
- );
- const client = (new ContainersServiceClient(
- address,
- grpc.credentials.createInsecure()
- ) as unknown) as IContainersClient;
- let backend = process.argv[2] || "moby";
- const meta = new grpc.Metadata();
- meta.set("CONTEXT_KEY", backend);
- client.list(new ListRequest(), meta, (err: any, response: ListResponse) => {
- if (err != null) {
- console.error(err);
- return;
- }
- const containers = response.getContainersList();
- containers.forEach((container) => {
- console.log(container.getId(), container.getImage());
- });
- });
- function arrayBufferToString(buffer: Uint8Array): string {
- return String.fromCharCode.apply(null, Array.from(buffer));
- }
|