#!/bin/bash usage() { echo "Usage: $0 []" exit 1 } ValidInstances=('CLD21' 'CVTTDATA') is_valid() { local inst=$1 for valid_inst in "${ValidInstances[@]}"; do if [[ "$inst" == "$valid_inst" ]]; then return 0 fi done return 1 } is_container_running() { local container_name=$1 if [ "$(docker ps --filter "name=^/${container_name}$" --filter "status=running" -q)" ]; then return 0 # true else return 1 # false fi } Instance=${1} if ! is_valid "${Instance}"; then usage fi AdminPort=7225 if [ "${2}" != "" ]; then AdminPort=${2} fi ContainerName="md_recorder_monitor.${Instance}" if is_container_running "$ContainerName"; then echo "Container ${ContainerName} is already running. Aborted." exit fi Cmd="docker run" Cmd="${Cmd} -d" Cmd="${Cmd} --rm" Cmd="${Cmd} --network=host" Cmd="${Cmd} --pull=always" Cmd="${Cmd} --name=${ContainerName}" Cmd="${Cmd} -v /home/cvtt/prod/logs:/logs" Cmd="${Cmd} cloud21.cvtt.vpn:5500/md_recorder_monitor:latest" Cmd="${Cmd} ${Instance} ${AdminPort}" echo ${Cmd} eval ${Cmd}