#!/bin/sh
mode=“once” if [ “$1” = “-w” ]; then
mode="wait"; shift
fi
container_name=“$1”; shift
container_ip_addr=“”
sleep_interval=‘0.1’ if [ “${mode}” = “wait” ]; then
while :; do container_ip_addr=$(command docker inspect --format '{{.NetworkSettings.IPAddress}}' "${container_name}" 2>/dev/null) if [ -n "${container_ip_addr}" ]; then break fi sleep "${sleep_interval}" sleep_interval=$(echo "((${sleep_interval} * 2) % 10) + 0.1" | bc) done
else
container_ip_addr=$(command docker inspect --format '{{.NetworkSettings.IPAddress}}' "${container_name}" 2>/dev/null)
fi
if [ -n “${container_ip_addr}” ]; then
echo "${container_ip_addr}"
else
exit 1
fi