## 0表示确定,1表示否
yesnoinput()
{
while :
do
read ANSWER
case $ANSWER in
"y"|"Y"|"yes"|"YES")
return 0
;;
"n"|"N"|"no"|"NO")
return 1
;;
*)
echo "Unknown input."
;;
esac
printf "Please input [yes..no]:"
done
}
5、检查是否存在当前业务镜像安装包
checkproductpag()
{
CHECKPDTTEMP=$1
#查找当前的业务包是否已经有镜像了 如果存在镜像 代表已经安装过镜像包了
if [ -z "`ls $TOP_PATH | grep image-pro-$CHECKPDTTEMP`" ];then
#没有找到对应的安装包 则报错误退出
echoerror "no $CHECKPDTTEMP image was found package, please check."
exit 1
fi
}
6、检查当前版本业务包镜像是否已经安装
checkproductimg()
{
CHECKPDTTEMP=$1
#查找当前的业务包是否已经有镜像了 如果存在镜像 代表已经安装过镜像包了
if [ -n "`docker images | grep ${CHECKPDTTEMP}`" ];then
#提示用户版本已经安装 并退出
echoerror "${CHECKPDTTEMP} has been installed, no need to install it again."
exit 1
fi
}
7、删除指定容器
deleteImageAndContainer()
{
#镜像名称
IMAGENAME=$1
varri=0
while :
do
#杀死正在运行的docker 容器
if [ ! -z "`docker ps | grep ${IMAGENAME}`" ];then
RUNCONTAINERINFO=$(docker ps | grep $IMAGENAME)
IFS=' ' runcontainerarray=($RUNCONTAINERINFO)
docker kill ${runcontainerarray[0]}
varri=`expr $varri + 1 `
if [ "$varri" -eq 5 ]
then
break
fi
else
break
fi
done
varri=0
while :
do
# 删除指定名称的容器
if [ ! -z "`docker ps -a | grep ${IMAGENAME}`" ];then
CONTAINERINFO=$(docker ps -a | grep $IMAGENAME)
IFS=' ' containerarray=($CONTAINERINFO)
docker rm -f ${containerarray[0]}
varri=`expr $varri + 1 `
if [ "$varri" -eq 5 ]
then
break
fi
else
break
fi
done
varri=0
while :
do
#删除指定名称的镜像
if [ ! -z "`docker images| grep ${IMAGENAME}`" ];then
IMAGEINFO=$(docker images | grep $IMAGENAME)
IFS=' ' imagearray=($IMAGEINFO)
docker rmi -f ${imagearray[2]}
varri=`expr $varri + 1 `
if [ "$varri" -eq 5 ]
then
break
fi
else
break
fi
done
}