启动docker内部jar程序脚本
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