zl程序教程

您现在的位置是:首页 >  工具

当前栏目

启动docker内部jar程序脚本

Dockerjar程序 启动 脚本 内部
2023-09-27 14:25:55 时间

场景:jar包封成docker容器,想一键在外部启动内部的jar程序

实现脚本如下:

vim auth.sh
#!/bin/sh
name=auth-two-app.jar
docker exec -i jar bash<<'EOF'
pid=`ps -ef|grep 'auth-two-app.jar'|grep -v grep|awk '{print $2}'`
cd /vrgv/jar/2.0/auth-two-app/
if [ -n "${pid}" ];then
        kill -9 ${pid}
        echo "Process $name killed!"
           nohup java  -jar -Xms265M  -Xmx512M -Duser.timezone=Asia/ShangHai auth-two-app.jar > /vrgv/jar/2.0/logs/auth-two-app.log 2>&1 &
        echo "ReStart $name Success!"
else
           nohup java  -jar -Xms265M  -Xmx512M -Duser.timezone=Asia/ShangHai auth-two-app.jar  > /vrgv/jar/2.0/logs/auth-two-app.log 2>&1 &
        echo "Start $name Success!"
fi

exit
EOF

解释脚本:
1.定义了一个变量为jar包名称
2.进入名称为jar的容器
3.截取jar包名称的PID进程号
4.进入jar包目录,判断当前这个jar包PID进程号是否存在,存在杀死启动,不存在直接启动,并重定向日志输入位置

头条链接:https://mp.toutiao.com/profile_v4/graphic/preview?pgc_id=6935688602647069195