• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

水底的小鱼鱼

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

滚动部署docker服务

#!/bin/bash
set -x
KL_FILE="/opt/pro_swagger/project/kl-project/kl-project-zhiying/kl-project-zhiying-c-swagger/target/kl-project-zhiying-c-swagger-1.0.0-SNAPSHOT.jar"
KL_DIR="/opt/pro_swagger/project/kl-project/kl-project-zhiying/kl-project-zhiying-c-swagger/target/"
JAR_NAME="kl-project-zhiying-c-swagger-1.0.0-SNAPSHOT.jar"
TAG=`date +%Y%m%d_%H`
cd 

if [ -f "$KL_FILE"  ]
    then
    cd  $KL_DIR
    deploy_file=`ls | grep jar$`
else
    echo "JAR FILE NO EXIST"
        exit 100
fi
cd  $KL_DIR
pwd

cat << EOF > pro-swagger_Dockerfile
FROM  fbff214414b1
ENV TZ=Asia/Shanghai
WORKDIR /opt/apps
ENV  JAVA_OPTS='-Xmx2g -Xms2g -Xss10m  -XX:+UseG1GC -Xloggc:/opt/swagger/gclog/gc.log  '
COPY   $deploy_file  /opt/apps
expose 9082
VOLUME ["/opt/apps/logs"]
CMD ["sh", "-c", "java \$JAVA_OPTS -XX:+UseG1GC -Xloggc:/data/logs/gc.log -jar /opt/apps/$deploy_file --server.port=9082  --spring.profiles.active=pro" ]
EOF
docker build -t harbor.kuailaizhiying.com/zhiying/swagger_pro:${TAG}  -f pro-swagger_Dockerfile  . 
docker push harbor.kuailaizhiying.com/zhiying/swagger_pro:${TAG} 
docker rmi -f harbor.kuailaizhiying.com/zhiying/swagger_pro:${TAG}
echo $TAG
echo "***********************images push sucess*************************"
echo "******start docker deploy ***"
ssh -p 2233 node1  "docker pull harbor.kuailaizhiying.com/zhiying/swagger_pro:${TAG}"
ssh -p 2233 node2  "docker pull harbor.kuailaizhiying.com/zhiying/swagger_pro:${TAG}"
node1_port=`ssh -p 2233 node1 "netstat -lntp |grep 9082"`
node2_port=`ssh -p 2233 node2 "netstat -lntp |grep 9082"`
if [ ! -z "$node1_port" ] && [ ! -z "$node2_port" ]
then
    ssh -p 2233 node1 "docker stop swagger-pro"
    ssh -p 2233 node1 "docker rm swagger-pro"
    ssh -p 2233 node1 "docker run -dit --name swagger-pro  --net=host -v /data/swagger/logs:/opt/apps/logs -p 9082:9082 -e TZ="Asia/Shanghai" -d harbor.kuailaizhiying.com/zhiying/swagger_pro:${TAG}"
    sleep 10s
    if [ ! -z "$node2_port" ]
    then
        ssh -p 2233 node2 "docker stop swagger-pro"
        ssh -p 2233 node2 "docker rm swagger-pro"
        ssh -p 2233 node2 "docker run -dit --name swagger-pro  --net=host -v /data/swagger/logs:/opt/apps/logs -p 9082:9082 -d harbor.kuailaizhiying.com/zhiying/swagger_pro:${TAG}"
        echo -e "\033[42;37m  deploy is ok  \033[0m"
    else
        echo "请检查node1服务是否正常"
    fi

else
    echo "is swagger  no ha  runing"
fi

 

posted on 2022-11-19 17:02  水底的小鱼鱼  阅读(53)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3