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"

相关推荐
Coder个人博客3 分钟前
Linux6.19-ARM64 mm mmap子模块深入分析
大数据·linux·安全·车载系统·系统架构·系统安全·鸿蒙系统
AllData公司负责人4 分钟前
【亲测好用】实时开发平台能力演示
java·c语言·数据库
江畔何人初4 分钟前
/etc/profile,.profile,.bashrc三者区分
linux·运维·云原生
pcm1235675 分钟前
设计C/S架构的IM通信软件(3)
java·c语言·架构
codeRichLife13 分钟前
docker拷贝,导入/导出等常用命令
docker
会飞的土拨鼠呀15 分钟前
Ubuntu系统缺少 iptables 工具
linux·运维·ubuntu
前端玖耀里15 分钟前
详细介绍Linux命令dig和nslookup
linux·运维·服务器
呱呱巨基16 分钟前
Linux 第一个系统程序 进度条
linux·c++·笔记·学习
咖啡啡不加糖19 分钟前
Grafana 监控服务指标使用指南:打造可视化监控体系
java·后端·grafana
€81122 分钟前
Java入门级教程26——序列化和反序列化,Redis存储Java对象、查询数据库与实现多消费者消息队列
java·拦截器·序列化和反序列化·数据库查询·redis存储java对象·多消费者消息队列