#!/bin/bash MS=$1 ACTION=$2 do_stop(){ MS=$1 if ! docker ps --filter "name=^/${MS}" | grep -q "${MS}"; then echo "${MS} is already stopped, ignore the action." else echo "Executing 'docker stop ${MS}'" docker stop ${MS} fi } do_start(){ MS=$1 if docker ps --filter "name=^/${MS}" | grep -q "${MS}"; then echo "${MS} is running, performing restart." echo "Executing \'\docker stop ${MS}'" docker stop ${MS} && sleep 2 echo "Executing 'docker start ${MS}'" docker start ${MS} else echo "Executing 'docker start ${MS}'" docker start ${MS} fi } do_status(){ MS=$1 out=$(docker ps --filter "name=^/${MS}" | grep "${MS}") res=$? if [ "$res" == "0" ]; then echo $out echo "The ${MS} is currnetly up & running!" else echo "The ${MS} is currnetly not running!" fi } case $ACTION in start) do_start ${MS} ;; stop) do_stop ${MS} ;; status) do_status ${MS} ;; restart) do_stop ${MS} do_start ${MS} ;; *) do_status ${MS} ;; esac