index.ts 973 B

1234567891011121314151617181920212223242526
  1. import * as grpc from '@grpc/grpc-js';
  2. import * as continersPb from "./grpc/containers_grpc_pb";
  3. import { IContainersClient } from './grpc/containers_grpc_pb';
  4. import { ListRequest, ListResponse } from "./grpc/containers_pb";
  5. let address = process.argv[3] || "unix:///tmp/backend.sock";
  6. const ContainersServiceClient = grpc.makeClientConstructor(continersPb["com.docker.api.containers.v1.Containers"], "ContainersClient");
  7. const client = new ContainersServiceClient(address, grpc.credentials.createInsecure()) as unknown as IContainersClient;
  8. let backend = process.argv[2] || "moby";
  9. const meta = new grpc.Metadata();
  10. meta.set("CONTEXT_KEY", backend);
  11. client.list(new ListRequest(), meta, (err: any, response: ListResponse) => {
  12. if (err != null) {
  13. console.error(err);
  14. return;
  15. }
  16. const containers = response.getContainersList();
  17. containers.forEach(container => {
  18. console.log(container.getId(), container.getImage());
  19. });
  20. });