#!/bin/bash set -eu if [ $# -lt 1 ]; then echo "Usage: $0 [ []]" >&2 exit 1 fi readonly addr=$1 readonly max_dialer=${2:-50} if [[ $# -gt 2 ]]; then RANDOM=$3 fi dialer=() # shellcheck disable=SC2154 trap 'echo -n "stopping ... "; for c in "${dialer[@]}"; do docker rm -f "$c" >/dev/null; done; echo "done"' EXIT while true; do dialer+=("$(docker run -d dialer /go/bin/dialer connect "$addr" "10")") if [ ${#dialer[@]} -gt "$max_dialer" ]; then rand=$(((RANDOM % max_dialer) + 1)) container=${dialer[$rand]} docker rm -f "$container" >/dev/null & unset dialer[$rand] dialer=("${dialer[@]}") fi sleep 2 done