Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Wait for another service to become available

./wait-for is a script designed to synchronize services like docker containers. It is sh and alpine compatible. It was inspired by vishnubob/wait-for-it, but the core has been rewritten at Eficode by dsuni and mrako.

When using this tool, you only need to pick the wait-for file as part of your project.

Build Status

Usage

./wait-for host:port [-t timeout] [-- command args]
 -q | --quiet Do not output any status messages
 -t TIMEOUT | --timeout=timeout Timeout in seconds, zero for no timeout
 -- COMMAND ARGS Execute command with args after the test finishes

Examples

To check if eficode.com is available:

$ ./wait-for www.eficode.com:80 -- echo "Eficode site is up"
Connection to www.eficode.com port 80 [tcp/http] succeeded!
Eficode site is up

To wait for database container to become available:

version: '2'
services:
 db:
 image: postgres:9.4
 backend:
 build: backend
 command: sh -c './wait-for db:5432 -- npm start'
 depends_on:
 - db

Testing

Ironically testing is done using bats, which on the other hand is depending on bash.

docker build -t wait-for .
docker run -t wait-for

Note

Make sure netcat is installed in your Dockerfile before running the command.

RUN apt-get -q update && apt-get -qy install netcat

https://stackoverflow.com/questions/44663180/docker-why-does-wait-for-always-time-out

About

./wait-for is a script to wait for another service to become available.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /