Skip to main content

docker-compose-wait

Build Status PyPI

Some useful script to wait until all services declared in a docker-compose file are up and running.

This script uses the health check mechanism provided since Docker 1.12. If your services have a configured health check, after making a docker-compose up -d you can simply call this script to have it wait until all your services health statuses are fixed. If they are all healthy it will return 0 if any of them is unhealthy (or Down) it will return -1.

This script can be useful, as example, in Continuous Integration or other situations when you just want to wait until a stack is deployed before performing other actions.

Please note this script does not do anything about dependencies startup order. See the official documentation for that problem.

Installation

pip install docker-compose-wait

This utility requires Python 2.7 or Python >= 3.5. It also supports docker-compose from version 1.10.

Usage

usage: docker-compose-wait.py [options]

Wait until all services in a docker-compose file are healthy. Options are
forwarded to docker-compose.

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  Specify an alternate compose file (default: docker-
                        compose.yml)
  -p PROJECT_NAME, --project-name PROJECT_NAME
                        Specify an alternate project name (default: directory
                        name)
  -w, --wait            Wait for all the processes to stabilize before exit
                        (default behavior is to exit as soon as any of the
                        processes is unhealthy)
  -t TIMEOUT, --timeout TIMEOUT
                        Max amount of time during which this command will run
                        (expressed using the same format than in docker-
                        compose.yml files, example: 5s, 10m,... ). If there is
                        a timeout this command will exit returning 1.
                        (default: wait for an infinite amount of time)

Basically it can be as simple as:

docker-compose-wait

docker-compose-wait behaves like a docker-compose sub-command. It will forward the usual docker-compose command-line arguments. The above command will work fine if you previously ran docker-compose up -d by referencing the standard docker-compose.yml file. If you are using other files for your docker-compose configuration just use:

docker-compose-wait -f <path_to_yaml_file> -f <path_to_other_yaml_file> ...

License

See the license file.

Contribution

See the contribution guide.

Metadata

Release files for docker-compose-wait 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for docker-compose-wait 1.2.2
File Size Uploaded Provenance Actions
docker-compose-wait-1.2.2.tar.gz 8.1 kB Without provenance Details for docker-compose-wait-1.2.2.tar.gz

Release files / docker-compose-wait-1.2.2.tar.gz

Download URL docker-compose-wait-1.2.2.tar.gz
Size 8.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6ff8b88c00deb3631bb79a31c3f3125f9418957d2ec794e0febfc20b67f2dd34
BLAKE2b-256 checksum
How to use checksums
6aad19273ad0081c887f0466f543ac69347b6a55899f3ebfbfa50722ecabee10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.7

Security for docker-compose-wait 1.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page