2 个版本
0.1.1 | 2019年11月12日 |
---|---|
0.1.0 | 2019年11月12日 |
#14 在 #同步
7KB
127 代码行
等待另一个服务变得可用
wait_for
是一个基于 Rust 的命令行界面,旨在同步像 Docker 容器这样的服务。它深受 eficode/wait-for
的启发,但重写为使用 Rust。
安装
要安装 CLI,首先需要本地克隆仓库
git clone https://github.com/aktitarov/wait_for.git && cd wait_for
然后使用 cargo 将其安装到您的路径
cargo install --path .
用法
Waits for another service to become available
USAGE:
wait_for [OPTIONS] --host <host> --port <port> [command]...
FLAGS:
--help Prints help information
-V, --version Prints version information
OPTIONS:
-h, --host <host> Sets host of service to be watched
-p, --port <port> Sets port of service to be watched
-t, --timeout <timeout> Sets timeout in secons, zero for no timeout
ARGS:
<command>... Command to execute after service is available
示例
检查 google.com 是否可用
wait_for -h www.google.com -p 80 -- echo "Google is up"
等待数据库容器变得可用
version: '3'
service:
database:
image: postgres:latest
app:
build: .
command: sh -c 'wait_for -h database -p 5432 -- ./target/release/app'
depends_on:
- database
注意
在运行命令之前,请确保 Dockerfile 中已安装 netcat。
RUN apt-get -q update && apt-get -qy install netcat
https://stackoverflow.com/questions/44663180/docker-why-does-wait-for-always-time-out
依赖项
~750KB