35 lines
681 B
Bash
Executable File
35 lines
681 B
Bash
Executable File
#!/bin/bash
|
||
|
||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
. "$DIR/.common.sh"
|
||
|
||
if [ "$1" == "" ]; then
|
||
echo "Waits for a docker container to be healthy."
|
||
echo "Usage: $0 docker-container"
|
||
exit 1
|
||
fi
|
||
|
||
SERVICE=$1
|
||
LOOPCOUNT=0
|
||
HEALTHY=
|
||
LIMIT=${2:-90}
|
||
|
||
echo -e "${BLUE}❯ ${CYAN}Waiting for healthy: ${YELLOW}${SERVICE}${RESET}"
|
||
|
||
until [ "${HEALTHY}" = "healthy" ]; do
|
||
echo -n "."
|
||
sleep 1
|
||
HEALTHY="$(docker inspect -f '{{.State.Health.Status}}' $SERVICE)"
|
||
((LOOPCOUNT++))
|
||
|
||
if [ "$LOOPCOUNT" == "$LIMIT" ]; then
|
||
echo ""
|
||
echo ""
|
||
echo -e "${BLUE}❯ ${RED}Timed out waiting for healthy${RESET}"
|
||
exit 1
|
||
fi
|
||
done
|
||
|
||
echo ""
|
||
echo -e "${BLUE}❯ ${GREEN}Healthy!${RESET}"
|