当前位置: 首页 > 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://www.xdnf.cn/news/998587.html

相关文章:

  • 使用VSCode开发FastAPI指南
  • Python 实现 Web 请求与响应
  • VSCode - Trae 插件关闭弹出框代码补全
  • 【C++学习笔记】 std::atomic 拷贝构造错误解析
  • docker-compose容器单机编排
  • el-select+el-tree实现树形下拉选择
  • tabs页签嵌套表格,切换表格保存数据不变并回勾
  • CSS 外边距合并(Margin Collapsing)问题研究
  • Karate 与Playwright的比较和融合
  • spring boot项目整合mybatis实现多数据源的配置
  • RAG Food Project
  • GAN+ECA注意力机制实现图像超分辨率重建
  • ESP32-C3FH4X—低功耗、高集成度的 MCU 系统级芯片 (SoC)
  • 基于数据库实现配置管理和定时任务启停
  • 强化学习:策略梯度概念
  • word用endnote插入国标参考文献
  • 在 Flutter 项目中iOS 的 App 图标和 App 名称 的设置
  • 探索 Excel-to-JSON:高效数据转换的利器
  • Linux Alias 魔法:命令行效率提升秘籍
  • R语言缓释制剂QBD解决方案之四
  • RK3588 + Ubuntu24.04 部署 rknn 模型——不用[特殊字符]版全流程教程
  • 管家婆软件下载中心-管家婆软件辉煌安装包下载、应用程序、最新版软件
  • STL难记忆却常用的用法集合(持续更新中)
  • 自动驾驶系统研发系列—AI大模型驱动的智能座舱:从概念到落地的工程解析
  • MonkeyOCR: 基于结构-识别-关系三元组范式的文档解析
  • 客户端登录not foud的问题解决
  • PostgreSQL 用户名大小写处理规则
  • 黑龙江亿林网络启盛裸金属服务器评测:24 核 32G + 联通千兆共享,高负载业务的新利器
  • ​​​​​​​《TCP/IP协议卷1》第9章 IP选路
  • 鸟类识别与分类相关数据集(猫脸码客第252期)