Exec container¶
#!/usr/bin/env bash
#docker container ls
#docker ps
options=(
1 "er-web"
2 "er-pg"
3 "er-ldap"
4 "Quit"
)
function run {
clear
case ${1} in
1|er-web)
execContainer "er-web"
;;
2|er-pg)
execContainer "er-pg"
;;
3|er-ldap)
execContainer "er-ldap"
;;
4|[Qq][Uu][Ii][Tt])
echo "Quit"
exit 0
;;
*) echo "invalid option $REPLY";;
esac
}
function execContainer {
container_name=${1}
container_status=$(docker inspect --format '{{json .State.Running}}' "${container_name}")
if [ "${container_status}" = "true" ]; then
exec docker container exec -it "${container_name}" /bin/bash -l
else
echo "container ${container_name} not running"
exit 1
fi
}
if [ -n "${1}" ]; then
run ${1}
fi
function selectMenu {
PS3='Please enter your choice: '
select selected in "er-web" "er-pg" "er-ldap" "Quit"
do
run ${selected}
done
}
function selectMenuDialog {
height=15
width=40
choice_height=4
backtitle="Backtitle here"
title="Title here"
menu="Choose one of the following options:"
selected=$(dialog --clear \
--backtitle "${backtitle}" \
--title "${title}" \
--menu "${menu}" \
${height} ${width} ${choice_height} \
"${options[@]}" \
2>&1 >/dev/tty)
run ${selected}
}
if [ -n $(which dialog) ]; then
selectMenuDialog
else
selectMenu
fi
exit 0