此文承接另一篇文章《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