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"