docker环境中使用shell脚本运行springboot项目

此文承接另一篇文章《docker部署springboot项目》

进入Linux环境,创建biweb_public.sh文件

①命令:vi biweb_public.sh

②输入:

#操作/项目路径(Dockerfile存放的路劲)
BASE_PATH=/root/docker
#docker 镜像/容器名字或者jar名字 这里都命名为这个
SERVER_NAME=biweb
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#镜像id
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
#主机端口号
HOST_PORT=8001
#容器端口号
C_PORT=8001
#时间
DATE=`date +%Y%m%d%H%M`
function build(){
	#判断镜像是否存在
	if [ -n "$IID" ]; then
		echo "存在$SERVER_NAME镜像,IID=$IID,删除镜像"
		docker rmi $IID
		cd $BASE_PATH
		docker build -t $SERVER_NAME .
		echo "$SERVER_NAME镜像重新构建完成"
		docker images
	else 
		echo "不存在$SERVER_NAME镜像,开始构建镜像"
		cd $BASE_PATH
		docker build -t $SERVER_NAME .
		echo "$SERVER_NAME镜像构建完成"
		docker images
	fi
}
function run(){
	echo "开始时间>>>>>>$DATE"
	#判断容器是否存在
	if [ -n "$CID" ]; then
		echo "存在$SERVER_NAME容器,CD=$CID,停止运行并删除"
		docker stop $CID
		docker rm $CID
		echo "$SERVER_NAME容器已经停止运行并删除"
		build
		echo "开始重新运行$SERVER_NAME镜像"
		docker run -p $HOST_PORT:$C_PORT --name $SERVER_NAME -d $SERVER_NAME
		echo "$SERVER_NAME已经重新运行"
		docker ps
		echo "结束时间>>>>>>$DATE"
	else
		echo "不存在$SERVER_NAME容器,判断是否存在$SERVER_NAME镜像"
		build
		echo "开始运行$SERVER_NAME镜像"
		docker run -p $HOST_PORT:$C_PORT --name $SERVER_NAME -d $SERVER_NAME
		echo "$SERVER_NAME已经运行"
		docker ps
		echo "结束时间>>>>>>$DATE"
	fi		
}
#运行
run

③赋予文件权限

命令:chmod +x biweb_public.sh

④更新biweb.jar文件

⑤命令:./biweb_public.sh

docker环境中使用shell脚本运行springboot项目_第1张图片

你可能感兴趣的:(随笔,shell,docker,springb)