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"

相关推荐
没钥匙的锁13 分钟前
05-Java面向对象构造器与封装
java·开发语言
aaPIXa62229 分钟前
C++采样引导优化SPGO——比PGO更智能的编译器决策新方案
java·c++·人工智能
蓝银草同学35 分钟前
Stream 实战:博客列表排序、过滤与分页(AI 辅助学习 Java 8)
java·前端·后端
qetfw1 小时前
CentOS 7 基础环境配置
linux·运维·centos
天空'之城1 小时前
Linux 系统编程 21:守护进程与日志系统全解
linux·系统编程·日志系统·守护进程
某不知名網友1 小时前
C/C++动态内存管理,智能指针及RAlI思想。
java·c语言·c++
jieyucx2 小时前
Docker 入门第二阶段:掌握日常命令
运维·docker·容器
l1t2 小时前
用split命令恢复被wget -c命令误追加的zip压缩包
linux
随性而行3602 小时前
微信API接口与AI自动化:开发者的实现思路
运维·服务器·开发语言·人工智能·微信·自动化
沫离痕2 小时前
Cassandra 4.0.11 Docker 安装与配置手册
java·spring boot