Skip to main content

Docker Compose CLI utility wrapper which makes `docker-compose` quieter

Project description

Docker Compose, just quieter

Docker Compose CLI utility wrapper which makes docker-compose quieter.

This Docker Compose CLI utility wrapper allows users to hide Starting <...> / Stopping <...> and similar messages from docker-compose's output.

Docker Compose is overly verbose when starting containers for a service:

$ docker-compose --project-name test run --rm test_service bash
Creating network "test-bash_default" with the default driver
Creating test-bash_postgresql-server_1         ... done
Creating test-bash_solr-zookeeper_1            ... done
Creating test-bash_extract-article-from-page_1 ... done
Creating test-bash_rabbitmq-server_1           ... done
Creating test-bash_solr-shard-01_1             ... done
Creating test-bash_import-solr-data-for-testing_1 ... done

$ docker-compose --project-name test down --volumes
Stopping test-bash_import-solr-data-for-testing_1 ... done
Stopping test-bash_solr-shard-01_1                ... done
Stopping test-bash_postgresql-server_1            ... done
Stopping test-bash_solr-zookeeper_1               ... done
Stopping test-bash_extract-article-from-page_1    ... done
Stopping test-bash_rabbitmq-server_1              ... done
Removing test-bash_import-solr-data-for-testing_1 ... done
Removing test-bash_solr-shard-01_1                ... done
Removing test-bash_postgresql-server_1            ... done
Removing test-bash_solr-zookeeper_1               ... done
Removing test-bash_extract-article-from-page_1    ... done
Removing test-bash_rabbitmq-server_1              ... done
Removing network test-bash_default

Setting --log-level to WARNING doesn't seem to help, and multiple issues and PRs to address the issue have been unsuccessful so far:

This wrapper monkey-patches ParallelStreamWriter for it to take into account --log-level setting and make the output quieter, and then runs Compose's CLI normally.

Why it's cool to use

  • This is not a fork, so the utility should work with newer versions of Compose as long as ParallelStreamWriter interface remains the same as it was at the time of writing this hack. So far, it's been tested with docker-compose version 1.25.0 and Python 3.7.
  • It doesn't have any third party dependencies (except for Docker Compose itself of course).
  • It doesn't have to be installed, you can just add this repository as a submodule to your project, or copy-paste the docker-compose-just-quieter script somewhere. With that said, you can pip3 install docker-compose-just-quieter too if you feel like it.

Usage

  1. Install Docker Compose using your favourite method, e.g.:
$ pip3 install docker-compose
  1. Place docker-compose-just-quieter script somewhere in your PATH, or add directory with docker-compose-just-quieter to your PATH.

  2. Use docker-compose-just-quieter script instead of vendor's docker-compose script, e.g.:

docker-compose-just-quieter ps
  1. Reduce verbosity level with --log-level argument just like you would for docker-compose itself, e.g.:
$ docker-compose-just-quieter --log-level WARNING run test_service bash

Project details


Release history Release notifications

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for docker-compose-just-quieter, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size docker_compose_just_quieter-0.1-py2.py3-none-any.whl (4.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size docker-compose-just-quieter-0.1.tar.gz (4.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page