From b6eec0047d16e0a6a26a3ad01f12e1ba2302845d Mon Sep 17 00:00:00 2001 From: Alexander Zeitler Date: Sun, 11 Apr 2021 00:19:02 +0200 Subject: [PATCH] docs: shrink README, link to docs --- .github/workflows/docs.yml | 2 +- docs/README.md | 2 +- readme.md | 97 +++++++++----------------------------- 3 files changed, 23 insertions(+), 78 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 828353d..d7cb017 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -3,7 +3,7 @@ name: docs on: # trigger deployment on every push to main branch push: - branches: [vuepress-docs] + branches: [master] # trigger deployment manually workflow_dispatch: diff --git a/docs/README.md b/docs/README.md index 43ebac0..0ccd8f6 100644 --- a/docs/README.md +++ b/docs/README.md @@ -100,7 +100,7 @@ Before sending a PR, please [create an issue](https://github.com/PDMLab/docker-c We're using [conventional commits](https://www.conventionalcommits.org), so please use it for your commits as well. -Also please add tests and make sure to run `npm run eslint`. +Also please add tests and make sure to run `yarn lint`. ### Slack diff --git a/readme.md b/readme.md index f699386..900fc75 100644 --- a/readme.md +++ b/readme.md @@ -2,86 +2,44 @@ # Manage Docker-Compose via Node.js -`docker-compose` is a small library that allows you to run [docker-compose](https://docs.docker.com/compose/)(which is still required) via Node.js. This is useful to bootstrap test environments. You might also generate your `docker-compose.yml` files using [composefile](https://www.npmjs.com/package/composefile). +`docker-compose` is a small library that allows you to run [docker-compose](https://docs.docker.com/compose/)(which is still required) via Node.js. This is useful to bootstrap test environments. ## Installation -``` -npm install --save-dev docker-compose +```bash +yarn add --dev docker-compose ``` -## Usage +## Documentation -`docker-compose` current supports these commands: +The documentation can be found [here](https://pdmlab.github.io/docker-compose/). -* `upAll(options)` - Builds, (re)creates, starts, and attaches to containers for all services - always uses the `-d` flag due to non interactive mode -* `upMany(services, options)` - Builds, (re)creates, starts, and attaches to containers for the services specified in `services` - always uses the `-d` flag due to non interactive mode -* `upOne(service, options)` - Builds, (re)creates, starts, and attaches to containers for a service specified in `service` - always uses the `-d` flag due to non interactive mode -* `down(options)` - Stops containers and removes containers, networks, volumes, and images created by `up` -* `kill(options)` - Force stop service containers -* `stop(options)` - Stop running containers without removing them -* `stopOne(service, options)` - Stops one container without removing it -* `rm(options)` - Remove stopped service containers - always uses the `-f` flag due to non interactive mode -* `exec(container, command, options)` - Exec `command` inside `container`, uses `-T` to properly handle stdin & stdout -* `logs(services, options)` - Show logs of service(s). Use `options.follow` `true|false` to turn on `--follow` flag. -* `run(service, command, options)` - Run a one-off `command` on a service, uses `-T` to properly handle stdin & stdout -* `buildAll(options)` - Build or rebuild services -* `buildMany(services, options)` - Build or rebuild services -* `buildOne(service, options)` - Build or rebuild service -* `pullMany(services, options)` - Pull service images specified -* `pullOne(service, options)` - Pull a service image -* `pullAll(options)` - Pull all service images -* `restartAll(options)` - Restart all services -* `restartMany(services, options)` - Restart services -* `restartOne(service, options)` - Restart service -* `ps(options)` - Lists containers information -* `config(options)` - Validates configuration files and returns configuration yaml -* `configServices(options)` - Returns list of services defined in configuration files -* `configVolumes(options)` - Returns list of volumes defined in configuration files -* `port(options)` - Returns the public port of the given service and internal port. - -All commands return a `Promise({object})` with stdout and stderr strings and an exit code: -```javascript -{ - out: 'stdout contents', - err: 'stderr contents', - exitCode: 0, // !== 0 in case of an error -} -``` - -### Example +## Example To start service containers based on the `docker-compose.yml` file in your current directory, just call `compose.up` like this: ```javascript -compose.upAll({ cwd: path.join(__dirname), log: true }) - .then( - () => { console.log('done')}, - err => { console.log('something went wrong:', err.message)} - ); +compose.upAll({ cwd: path.join(__dirname), log: true }).then( + () => { + console.log('done') + }, + (err) => { + console.log('something went wrong:', err.message) + } +) ``` To execute command inside a running container + ```javascript compose.exec('node', 'npm install', { cwd: path.join(__dirname) }) ``` -### Options - -`docker-compose` accepts these params: - -* `cwd {string}`: mandatory folder path to the `docker-compose.yml` -* `config {(string|string[])}`: custom and/or multiple yml files can be specified (relative to `cwd`) -* `configAsString {string}`: configuration can be provided as is, instead of relying on a file. In case `configAsString` is provided `config` will be ignored. -* `[log] {boolean}`: optional setting to enable console logging (output of `docker-compose` `stdout`/`stderr` output) -* `[composeOptions] string[]|Array