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"

相关推荐
石像鬼₧魂石2 小时前
内网渗透靶场实操清单(基于 Vulhub+Metasploitable 2)
linux·windows·学习·ubuntu
Danileaf_Guo2 小时前
256台H100服务器算力中心的带外管理网络建设方案
运维·服务器
超级大只老咪3 小时前
数组相邻元素比较的循环条件(Java竞赛考点)
java
橘子真甜~3 小时前
C/C++ Linux网络编程15 - 网络层IP协议
linux·网络·c++·网络协议·tcp/ip·计算机网络·网络层
小浣熊熊熊熊熊熊熊丶3 小时前
《Effective Java》第25条:限制源文件为单个顶级类
java·开发语言·effective java
毕设源码-钟学长3 小时前
【开题答辩全过程】以 公交管理系统为例,包含答辩的问题和答案
java·eclipse
啃火龙果的兔子3 小时前
JDK 安装配置
java·开发语言
星哥说事3 小时前
应用程序监控:Java 与 Web 应用的实践
java·开发语言
派大鑫wink4 小时前
【JAVA学习日志】SpringBoot 参数配置:从基础到实战,解锁灵活配置新姿势
java·spring boot·后端
xUxIAOrUIII4 小时前
【Spring Boot】控制器Controller方法
java·spring boot·后端