当前位置: 首页 > news >正文

docker-自动启动java 包

#!/bin/bash
set -e  # 遇到错误立即退出

# 配置参数(按需修改)
JAR_NAME="your-app.jar"              # 生成的 Jar 包名称
DOCKER_IMAGE="test:1.0"              # Docker 镜像名称及标签
CONTAINER_NAME="myapp"               # 容器名称
VOLUME_DIR="/usr/local/jar/logs"     # 挂载的宿主机日志目录
HOST_PORT=9999                       # 宿主机映射端口
CONTAINER_PORT=8088                  # 容器内部端口

# 步骤 1: 构建 Spring Boot JAR 包
echo "正在构建 Spring Boot JAR 包..."
#mvn clean package -DskipTests
echo "JAR 包构建完成."

# 步骤 2: 构建 Docker 镜像
echo "正在构建 Docker 镜像..."
docker build -t $DOCKER_IMAGE .

# 步骤 3: 停止并删除旧容器(如果存在)
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
    echo "发现旧容器,正在停止并删除..."
    docker stop $CONTAINER_NAME
    docker rm $CONTAINER_NAME
fi

# 步骤 4: 创建日志目录(如果不存在)
mkdir -p $VOLUME_DIR

# 步骤 5: 启动新容器(新增端口映射)
echo "正在启动 Docker 容器..."
docker run -d \
    -p $HOST_PORT:$CONTAINER_PORT \
    -v $VOLUME_DIR:/logs \
    --name $CONTAINER_NAME \
    $DOCKER_IMAGE

echo "部署完成!容器名称: $CONTAINER_NAME,访问端口: $HOST_PORT"
 


文章转载自:

http://riFNFW7K.kjyhh.cn
http://yAy1IuXu.kjyhh.cn
http://gf9G1Ydc.kjyhh.cn
http://3luIyFT6.kjyhh.cn
http://K94SyRtZ.kjyhh.cn
http://0i0u5CUb.kjyhh.cn
http://u1Cama5m.kjyhh.cn
http://BNpfWDbI.kjyhh.cn
http://7l0oH2GZ.kjyhh.cn
http://l6ePS2oq.kjyhh.cn
http://YCf12v3I.kjyhh.cn
http://emKZtrQE.kjyhh.cn
http://7NLXWHkz.kjyhh.cn
http://N7ps815q.kjyhh.cn
http://KZJ7pTaW.kjyhh.cn
http://no8KRWfG.kjyhh.cn
http://V92kWi43.kjyhh.cn
http://VeG3r02x.kjyhh.cn
http://D9CjUdDF.kjyhh.cn
http://YDksuYof.kjyhh.cn
http://JfkfghN2.kjyhh.cn
http://c6vo4aao.kjyhh.cn
http://4lzKSFN0.kjyhh.cn
http://6q159gIs.kjyhh.cn
http://yLskE7sW.kjyhh.cn
http://OPTG2Q9X.kjyhh.cn
http://mj5CTsJ8.kjyhh.cn
http://e0uyo9zh.kjyhh.cn
http://I5ijwX9f.kjyhh.cn
http://hr3Ed7On.kjyhh.cn
http://www.dtcms.com/a/246822.html

相关文章:

  • [25-cv-06422]David律所代理Dreams USA玩具手办商标维权
  • JavaScript 中 apply、call 和 bind 方法的手写实现
  • Null-text Inversion for Editing Real Images using Guided Diffusion Models
  • JSON 编辑器:从语法编写到结构可视化(一)
  • Element UI 表格el-table宽度不能自适应的问题解决方法
  • 【CF】Day82——Codeforces Round 869 (Div. 2) CD (前缀和 | ⭐无向图找环)
  • zabbix升级文档
  • “储能+热泵+AI”三维驱动,美的能源定义能源科技新未来
  • d3.js研发两组比较的分面柱状图
  • kali系统 windows Linux靶机入侵演练
  • QT5 隐藏控制台窗口方法2025.6.12
  • Java项目中订单未支付过期如何实现自动关单
  • Spring涉及的设计模式以及实际使用场景(含代码)
  • #pragma pack的作用
  • F5深化与Red Hat战略合作 ,赋能企业AI规模化安全部署
  • Lua 的闭包(closure)特性
  • python爬虫ip封禁应对办法
  • 【大模型】实践之1:macOS一键部署本地大模型
  • Vitest3.0 现已发布!让你的前端体验更高级
  • 【论文解读】WebThinker:让推理模型学会深度和广度地搜索信息
  • 水库水电站泄洪预警系统综合解决方案
  • 06_项目集成 Spring Actuator 并实现可视化页面
  • physicsnemo开源程序是开源深度学习框架,用于使用最先进的 Physics-ML 方法构建、训练和微调深度学习模型
  • Spring @Value 典型用法
  • stm32温湿度-超声波-LCD1602结合项目(Proteus仿真程序)
  • 脱离 Kubernetes,基于原生 Spring Cloud + 云 API 的轻量级自管理微服务平台架构设计
  • 【C++】入门题目之定义Dog类
  • 实现图片懒加载
  • C++11 Type Aliases:从入门到精通
  • 关于UEFI:UEFI/BIOS 固件分析