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"

相关推荐
EndingCoder7 分钟前
构建RESTful API:用户管理示例
linux·javascript·node.js
tryCbest8 分钟前
Java实现文件下载
java·开发语言
Yunfeng Peng9 分钟前
1- 十大排序算法(选择排序、冒泡排序、插入排序)
java·算法·排序算法
liu****9 分钟前
负载均衡式的在线OJ项目编写(五)
运维·c++·负载均衡·个人开发
且行且知20 分钟前
在ubuntu下载企业微信
linux·ubuntu·企业微信
CodeCraft Studio22 分钟前
借助Aspose.Email,使用 Python 将 EML 转换为 MHTML
linux·服务器·python·aspose·email·mhtml·eml
断剑zou天涯37 分钟前
【算法笔记】二叉树递归解题套路及其应用
java·笔记·算法
武子康2 小时前
Java-136 深入浅出 MySQL Spring Boot @Transactional 使用指南:事务传播、隔离级别与异常回滚策略
java·数据库·spring boot·mysql·性能优化·系统架构·事务
saber_andlibert2 小时前
【Linux】深入理解Linux的进程(一)
linux·运维·服务器·开发语言·c++
虚伪的空想家3 小时前
K8S部署的ELK分片问题解决,报错:unexpected error while indexing monitoring document
运维·elk·云原生·容器·kubernetes·报错·eck