@wocker/ws
Version:
Docker workspace for web projects
32 lines (31 loc) • 1.9 kB
TypeScript
import { DockerService as CoreDockerService, DockerServiceParams as Params, LogService } from "@wocker/core";
import type Docker from "dockerode";
import type { Container, Volume, VolumeCreateResponse } from "dockerode";
import { ContainerService } from "./ContainerService";
import { ModemService } from "./ModemService";
import { ImageService } from "./ImageService";
export declare class DockerService extends CoreDockerService {
protected readonly modemService: ModemService;
protected readonly containerService: ContainerService;
protected readonly imageService: ImageService;
protected readonly logService: LogService;
constructor(modemService: ModemService, containerService: ContainerService, imageService: ImageService, logService: LogService);
get docker(): Docker;
createVolume(name: string): Promise<VolumeCreateResponse>;
hasVolume(name: string): Promise<boolean>;
getVolume(name: string): Promise<Volume>;
rmVolume(name: string): Promise<void>;
createContainer(params: Params.CreateContainer): Promise<Container>;
getContainer(name: string): Promise<Container | null>;
removeContainer(name: string): Promise<void>;
buildImage(params: Params.BuildImage): Promise<void>;
imageExists(tag: string): Promise<boolean>;
imageRm(tag: string, force?: boolean): Promise<void>;
imageLs(options?: Params.ImageList): Promise<Docker.ImageInfo[]>;
pullImage(tag: string): Promise<void>;
attach(containerOrName: string | Container): Promise<NodeJS.ReadWriteStream>;
attachStream(stream: NodeJS.ReadWriteStream): Promise<NodeJS.ReadWriteStream>;
exec(nameOrContainer: string | Container, options: Params.Exec | string[], _tty?: boolean): Promise<import("stream").Duplex>;
logs(containerOrName: string | Container): Promise<NodeJS.ReadableStream>;
followProgress(stream: NodeJS.ReadableStream): Promise<void>;
}