一些有用的命令行实用程序,等待docker compose文件中声明的所有服务都启动并运行。

docker-compose-wait的Python项目详细描述


Docker编写等待

Build StatusPyPI

一些有用的脚本,等待docker compose文件中声明的所有服务都启动并运行。

此脚本使用Docker1.12之后提供的运行状况检查机制。如果您的服务具有已配置的运行状况检查,则在进行docker-compose up -d之后,您只需调用此脚本,让它等待您的所有服务运行状况都得到修复。如果它们都是healthy,则返回0;如果其中任何一个是unhealthy(或Down),则返回-1。

例如,在连续集成或其他情况下,当您只想等到部署堆栈后再执行其他操作时,此脚本可能非常有用。

请注意,此脚本对依赖项启动顺序没有任何作用。关于这个问题,请参见official documentation

安装

pip install docker-compose-wait

此实用程序需要Python2.7或Python>;=3.3。它还支持1.10版的docker-compose

用法

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)

基本上可以简单到:

docker-compose-wait

docker-compose-wait的行为类似于docker-compose子命令。它将转发通常的docker-compose命令行参数。如果您以前通过引用标准的docker-compose.yml文件来运行docker-compose up -d,那么上面的命令可以正常工作。如果您正在使用其他文件进行配置,请使用:

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

许可证

See the license file

贡献

See the contribution guide

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将字符串转换为自定义对象   java如何从socket方法获取数据?   Java中的soap读取回车和新行   java在单击时替换图像   java推荐的使用RXJava执行异步任务的方法   java MySql连接器JDBC驱动程序不支持连接池吗?   java将活动堆栈清理到顶部   java计数用户输入的数量   java从webservice下载大文件导致应用程序性能问题   JavaLocalDate。EPOCH不可用   java如何在使用Selenium等待一定时间后,在页面无法加载(get(url))时自动刷新页面   java Calendar setLenient方法不允许检查年份字段的健全性   java Eclipse和intelliJ 安卓 SDK问题   java为什么我可以在没有super关键字的情况下调用父方法?   java iText的PDF格式不好