lakutata
Version:
An IoC-based universal application framework.
147 lines (143 loc) • 4.85 kB
TypeScript
import { Component } from './TypeDef.internal.96.js';
import { DockerImage, DockerContainer } from './TypeDef.internal.105.js';
import { ImagePullOptions, ImageBuildOptions, ImageImportOptions } from './TypeDef.internal.106.js';
import { IDockerKeyObject, IDockerConnectionOptions, IDockerHttpConnectionOptions, IDockerHttpsConnectionOptions, IDockerSSHConnectionOptions } from './TypeDef.internal.107.js';
import { NetworkCreateOptions } from './TypeDef.internal.108.js';
import { NetworkInfo } from './TypeDef.internal.109.js';
import { ContainerSettingOptions } from './TypeDef.internal.110.js';
import { DockerPruneOptions } from './TypeDef.internal.111.js';
import { DockerAuthOptions } from './TypeDef.internal.112.js';
import { ComponentOptionsBuilder } from './TypeDef.internal.100.js';
declare class Docker extends Component {
#private;
protected readonly socketPath?: string | undefined;
protected readonly host?: string | undefined;
protected readonly port?: number | string | undefined;
protected readonly username?: string | undefined;
protected readonly headers?: {
[name: string]: string;
};
protected readonly ca?: string | string[] | Buffer | Buffer[] | undefined;
protected readonly cert?: string | string[] | Buffer | Buffer[] | undefined;
protected readonly key?: string | string[] | Buffer | Buffer[] | IDockerKeyObject[] | undefined;
protected readonly protocol?: 'https' | 'http' | 'ssh' | undefined;
protected readonly timeout?: number | undefined;
protected readonly version?: string | undefined;
protected readonly sshAuthAgent?: string | undefined;
/**
* Initializer
* @protected
*/
protected init(): Promise<void>;
/**
* Destroyer
* @protected
*/
protected destroy(): Promise<void>;
/** Docker Common Operations **/
/**
* Prune unused resources
* @param options
*/
prune(options?: DockerPruneOptions): Promise<void>;
/**
* Login to repository
* @param options
*/
loginRepository(options: DockerAuthOptions): Promise<void>;
/**
* Check repository auth
* @param options
*/
checkRepositoryAuth(options: DockerAuthOptions): Promise<boolean>;
/** Docker Image Operations **/
/**
* List docker images
*/
listImages(): Promise<DockerImage[]>;
/**
* Pull docker image from repository
*/
pullImage(options: ImagePullOptions): Promise<DockerImage>;
/**
* Build docker image
*/
buildImage(options: ImageBuildOptions): Promise<DockerImage>;
/**
* Import docker image from .tar file
*/
importImage(options: ImageImportOptions): Promise<DockerImage>;
/**
* Get docker image
* @param repoTagOrId
*/
getImage(repoTagOrId: string): Promise<DockerImage>;
/** Docker Container Operations **/
/**
* List docker containers
*/
listContainers(): Promise<DockerContainer[]>;
/**
* Get docker container
* @param id
*/
getContainer(id: string): Promise<DockerContainer>;
/**
* Create container
* @param imageId
* @param platform
* @param options
*/
createContainer(imageId: string, platform: string, options: ContainerSettingOptions): Promise<DockerContainer>;
/** Docker Network Operations **/
/**
* Create docker network
* @param options
*/
createNetwork(options: NetworkCreateOptions): Promise<NetworkInfo>;
/**
* Remove docker network
* @param id
*/
removeNetwork(id: string): Promise<void>;
/**
* List docker networks
*/
listNetworks(): Promise<NetworkInfo[]>;
/**
* Get docker network info
* @param id
*/
getNetwork(id: string): Promise<NetworkInfo>;
}
/**
* Build docker config
* @param options
* @constructor
*/
declare const BuildDockerConnectionOptions: ComponentOptionsBuilder<IDockerConnectionOptions>;
/**
* Build docker socket config
* @param options
* @constructor
*/
declare const BuildDockerSocketConnectionOptions: ComponentOptionsBuilder<IDockerConnectionOptions>;
/**
* Build docker http config
* @param options
* @constructor
*/
declare const BuildDockerHttpConnectionOptions: ComponentOptionsBuilder<IDockerHttpConnectionOptions>;
/**
* Build docker https config
* @param options
* @constructor
*/
declare const BuildDockerHttpsConnectionOptions: ComponentOptionsBuilder<IDockerHttpsConnectionOptions>;
/**
* Build docker ssh config
* @param options
* @constructor
*/
declare const BuildDockerSSHConnectionOptions: ComponentOptionsBuilder<IDockerSSHConnectionOptions>;
export { BuildDockerConnectionOptions, BuildDockerHttpConnectionOptions, BuildDockerHttpsConnectionOptions, BuildDockerSSHConnectionOptions, BuildDockerSocketConnectionOptions, Docker };