Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nicolas-van/docker-compose-wait
Some useful script to wait until all services declared in a docker-compose file are up and running.
https://github.com/nicolas-van/docker-compose-wait
docker utility
Last synced: 17 days ago
JSON representation
Some useful script to wait until all services declared in a docker-compose file are up and running.
- Host: GitHub
- URL: https://github.com/nicolas-van/docker-compose-wait
- Owner: nicolas-van
- License: mit
- Archived: true
- Created: 2018-02-13T11:18:26.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-08-14T06:54:24.000Z (about 4 years ago)
- Last Synced: 2024-10-09T10:11:06.470Z (28 days ago)
- Topics: docker, utility
- Language: Python
- Homepage:
- Size: 71.3 KB
- Stars: 29
- Watchers: 3
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# docker-compose-wait
[![Build Status](https://travis-ci.org/nicolas-van/docker-compose-wait.svg?branch=master)](https://travis-ci.org/nicolas-van/docker-compose-wait)
[![PyPI](https://img.shields.io/pypi/v/docker-compose-wait.svg)](https://pypi.org/project/docker-compose-wait/)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](https://docs.docker.com/compose/startup-order/) 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 -f ...
```## License
[See the license file](https://github.com/nicolas-van/docker-compose-wait/blob/master/LICENSE.md).
## Contribution
[See the contribution guide](https://github.com/nicolas-van/docker-compose-wait/blob/master/CONTRIBUTING.md).