@git.zone/cli
Version:
A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.
75 lines (74 loc) • 1.89 kB
TypeScript
export type ContainerStatus = 'running' | 'stopped' | 'not_exists';
export interface IDockerRunOptions {
name: string;
image: string;
ports?: {
[key: string]: string;
};
volumes?: {
[key: string]: string;
};
environment?: {
[key: string]: string;
};
restart?: string;
command?: string;
}
export declare class DockerContainer {
private smartshell;
constructor();
/**
* Check if Docker is installed and available
*/
checkDocker(): Promise<boolean>;
/**
* Get container status
*/
getStatus(containerName: string): Promise<ContainerStatus>;
/**
* Start a container
*/
start(containerName: string): Promise<boolean>;
/**
* Stop a container
*/
stop(containerName: string): Promise<boolean>;
/**
* Remove a container
*/
remove(containerName: string, force?: boolean): Promise<boolean>;
/**
* Run a new container
*/
run(options: IDockerRunOptions): Promise<boolean>;
/**
* Execute a command in a running container
*/
exec(containerName: string, command: string): Promise<string>;
/**
* Get container logs
*/
logs(containerName: string, lines?: number): Promise<string>;
/**
* Check if a container exists
*/
exists(containerName: string): Promise<boolean>;
/**
* Check if a container is running
*/
isRunning(containerName: string): Promise<boolean>;
/**
* Wait for a container to be ready
*/
waitForReady(containerName: string, maxAttempts?: number): Promise<boolean>;
/**
* Get container information
*/
inspect(containerName: string): Promise<any>;
/**
* Get port mappings for a container
*/
getPortMappings(containerName: string): Promise<{
[key: string]: string;
} | null>;
}