Skip to main content

@terascope/docker-compose-js / Compose

Class: Compose

Defined in: index.ts:53

Wrapper around docker compose (with fallback to docker-compose) for programmatically managing Docker Compose services.

Accepts one or more compose files. When multiple files are provided they are passed to the CLI with repeated -f flags, which causes docker-compose to merge them in order — later files override earlier ones. This is useful for conditionally applying overrides (e.g. a logs-volume override) without modifying the base compose file.

Examples​

// Single file
const compose = new Compose('docker-compose.yml');
// Base + conditional override
// docker-compose.logs.yml adds a ./logs volume mount to teraslice-master
// and teraslice-worker so file-based log output is captured on the host.
const files = ['docker-compose.yml'];
if (FILE_LOGGING) files.push('docker-compose.logs.yml');
const compose = new Compose(files);
// Extra environment for the compose CLI itself. Note this reaches compose,
// not the containers: it covers `COMPOSE_*` settings and `${VAR}`
// interpolation in the compose file, but values the containers read still
// have to arrive via `environment:` or `env_file:`.
const compose = new Compose('docker-compose.yml', {
env: { COMPOSE_PROJECT_NAME: 'my_project' }
});

See​

https://docs.docker.com/compose/how-tos/multiple-compose-files/merge/

Constructors​

Constructor​

new Compose(composeFile, options?): Compose

Defined in: index.ts:56

Parameters​

ParameterType
composeFilestring | string[]
optionsComposeOptions

Returns​

Compose

Properties​

PropertyTypeDefined in
composeFilesstring[]index.ts:54
envProcessEnvindex.ts:55

Methods​

build()​

build(options?): Promise<string>

Defined in: index.ts:160

Parameters​

ParameterType
options?RunOptions

Returns​

Promise<string>


create()​

create(services?, options?): Promise<string>

Defined in: index.ts:192

Parameters​

ParameterType
services?Services
options?RunOptions

Returns​

Promise<string>


down()​

down(options?): Promise<string>

Defined in: index.ts:164

Parameters​

ParameterType
options?RunOptions

Returns​

Promise<string>


kill()​

kill(services?, options?): Promise<string>

Defined in: index.ts:184

Parameters​

ParameterType
services?Services
options?RunOptions

Returns​

Promise<string>


pause()​

pause(services?, options?): Promise<string>

Defined in: index.ts:200

Parameters​

ParameterType
services?Services
options?RunOptions

Returns​

Promise<string>


port()​

port(service, privatePort, options?): Promise<string>

Defined in: index.ts:216

Parameters​

ParameterType
servicestring
privatePortstring | number
options?RunOptions

Returns​

Promise<string>


ps()​

ps(options?): Promise<string>

Defined in: index.ts:168

Parameters​

ParameterType
options?RunOptions

Returns​

Promise<string>


pull()​

pull(services?, options?): Promise<string>

Defined in: index.ts:188

Parameters​

ParameterType
services?Services
options?RunOptions

Returns​

Promise<string>


restart()​

restart(services?, options?): Promise<string>

Defined in: index.ts:180

Parameters​

ParameterType
services?Services
options?RunOptions

Returns​

Promise<string>


rm()​

rm(services?, options?): Promise<string>

Defined in: index.ts:212

Parameters​

ParameterType
services?Services
options?RunOptions

Returns​

Promise<string>


runCmd()​

runCmd(command, options?, services?, ...extraParams): Promise<string>

Defined in: index.ts:63

Parameters​

ParameterType
commandstring
options?RunOptions
services?Services
...extraParams?Arg[]

Returns​

Promise<string>


scale()​

scale(services?, options?): Promise<string>

Defined in: index.ts:208

Parameters​

ParameterType
services?Services
options?RunOptions

Returns​

Promise<string>


start()​

start(services?, options?): Promise<string>

Defined in: index.ts:172

Parameters​

ParameterType
services?Services
options?RunOptions

Returns​

Promise<string>


stop()​

stop(services?, options?): Promise<string>

Defined in: index.ts:176

Parameters​

ParameterType
services?Services
options?RunOptions

Returns​

Promise<string>


unpause()​

unpause(services?, options?): Promise<string>

Defined in: index.ts:204

Parameters​

ParameterType
services?Services
options?RunOptions

Returns​

Promise<string>


up()​

up(options, services?): Promise<string>

Defined in: index.ts:155

Parameters​

ParameterType
optionsRunOptions
services?string | string[]

Returns​

Promise<string>


version()​

version(options?): Promise<string>

Defined in: index.ts:196

Parameters​

ParameterType
options?RunOptions

Returns​

Promise<string>