首页 > 编程语言 >脚本将 Java 包打为 docker 镜像并重启

脚本将 Java 包打为 docker 镜像并重启

时间:2022-10-25 14:33:30浏览次数:43  
标签:ContainerName Java jar echo ImageName bp docker 包打

Dockerfile

FROM openjdk:11.0.16-jre
ADD bp.jar bp.jar
EXPOSE 9090
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=cq", "-Duser.timezone=Asia/Shanghai", "bp.jar"]

重启脚本

#!/bin/bash

AppName=bp.jar
SourceLogPath=logs
TargetLogPath=`pwd`/logs
SourcePort=8080
TargetPort=9090
ImageName=bp:v1
ContainerName=bp


echo "Start build ${AppName} to docker image ${ImageName}"
docker build -t ${ImageName} . > /dev/null

docker ps -q --filter "name=${ContainerName}" | grep -q .
dockerStatus=`echo $?`
if [ ${dockerStatus} = '0' ];
then
  echo "Stop container ${ContainerName}";
  docker stop ${ContainerName}
fi


docker ps -aq --filter "name=${ContainerName}" | grep -q .
dockerStatus=`echo $?`
if [ ${dockerStatus} = '0' ];
then
  echo "Remove container ${ContainerName}";
  docker rm -f ${ContainerName}
fi


echo "Run image ${ImageName} with container name ${ContainerName}, expose port ${SourcePort} to ${TargetPort}, log will save at ${TargetLogPath}"
docker run -d --name ${ContainerName} -e TZ=Asia/Shanghai -v ${TargetLogPath}:/${SourceLogPath} -p ${TargetPort}:${SourcePort} -it ${ImageName}

标签:ContainerName,Java,jar,echo,ImageName,bp,docker,包打
From: https://www.cnblogs.com/seliote/p/16824738.html

相关文章

  • Docker之介绍与安装
    Docker说明本章,我们主要从Docker简介、Docker中几个核心概念和Docker安装这几个方面对Docker进行介绍!1、......
  • JavaScript对象Function和JavaScript对象Array
    JavaScript对象FunctionFunction:函数(方法)对象1.创建:1.varfun=newFunction(形式参数列表,方法体);......
  • phpstorm docker容器内配置断点调试xdebug
    以下为php.ini配置[XDebug]xdebug.mode=debug,tracexdebug.start_with_request=yesxdebug.remote_handler="dbgp"xdebug.idekey="PHPSTORM"xdebug.log="/......
  • Java多线程(3):ThreadPool(中)
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~线程池是个神器,用得好会非常地方便。本来觉得线程池的构造器有些复杂,即使讲清楚了对今后的用处可能也不太大,因为有一些Jav......
  • Java数组定义和内存原理
    数组定义和访问容器概念容器:是将多个数据存储到一起,每个数据称为该容器的元素。数组概念数组概念:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。数组......
  • 解决容器Docker内部启动计划任务crontab不生效不执行的问题
    docker使用centos7镜像首先编辑crond,注释#session  required  pam_loginuid.so:vi/etc/pam.d/crond  然后重启crond服务:/etc/init.d/crondrestart ......
  • JavaScript高级(DOM操作)
    demo01(定时器)JSsetTimeout()函数用来在指定时间后执行某些代码,代码仅执行一次。 demo02(获取id选择器) demo......
  • docker离线安装
    1、docker离线安装的方式基本就是准备rpm包安装即可。2、准备的rpm包有:container-selinux-2.119.2-1.911c772.el7_8.noarch.rpmcontainerd.io-1.6.8-3.1.el7.x......
  • JavaScript的历史
    一、JavaScript的诞生1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器特点:只能用来浏览,不具备与访问者互动的能力,一切都需要......
  • JavaScript基础
    demo01(第一个JS代码)跳弹框 直接弹出    demo02(导入外部js代码)  demo03(js的变......