IDEA使用 Alibaba Cloud Toolkit

1. 首先安装插件 Alibaba Cloud Toolkit

2. 打开插件工具 Tool >> Alibaba Cloud >> Deploy to Host

之后 添加远程 host

添加完成。再次打开 Tool >> Alibaba Cloud >> Deploy to Host 配置

这里自动新增了一个配置如上图,可以根据自己的项目 打包自定义适配:

3. 创建 dockerfile 和 start.sh

tart.sh `

bash 复制代码
#!/bin/bash

# ===== 配置变量 =====
APP_NAME="codebit-api"
PORT=8888
JAR_FILE="codebit-api-1.0-SNAPSHOT.jar"
# ===================

DEPLOY_DIR="/root/deploy/jdk21-app"

cd ${DEPLOY_DIR}

echo "===== 开始部署 ${APP_NAME} ====="

# 停止并删除旧容器
echo "1. 停止旧容器..."
docker stop ${APP_NAME} 2>/dev/null
docker rm ${APP_NAME} 2>/dev/null

# 删除旧镜像
echo "2. 删除旧镜像..."
docker rmi ${APP_NAME}:latest 2>/dev/null

# 检查 JAR 文件是否存在
if [ ! -f "${JAR_FILE}" ]; then
    echo "错误: JAR 文件 ${JAR_FILE} 不存在!"
    exit 1
fi

# 构建新镜像
echo "3. 构建新镜像..."
docker build -t ${APP_NAME}:latest .

# 启动新容器
echo "4. 启动新容器..."
docker run -d \
  --name ${APP_NAME} \
  -p ${PORT}:${PORT} \
  -e TZ="Asia/Shanghai" \
  --restart=always \
  ${APP_NAME}:latest

# 检查容器启动状态
if [ $? -eq 0 ]; then
    echo "===== 部署完成 ====="
    echo "应用访问地址: http://192.168.100.101:${PORT}"
    echo "查看日志: docker logs ${APP_NAME} -f"
else
    echo "===== 部署失败 ====="
    exit 1
fi

# 显示最近日志
docker logs ${APP_NAME} --tail 10

`

dockerfile

bash 复制代码
# 使用 JDK 21 的基础镜像
FROM eclipse-temurin:21-jdk-alpine

# 维护者信息(可选)
LABEL maintainer="xxxxxx@yeah.net"

# 设置工作目录
WORKDIR /app

# 复制 jar 包到容器内
COPY codebit-api-1.0-SNAPSHOT.jar app.jar

# 暴露应用端口
EXPOSE 8888

# 启动命令
ENTRYPOINT ["java", "-jar", "app.jar"]
相关推荐
mldong16 小时前
一条命令,十分钟:jeeflow 工作流应用的六语言一键部署
前端·后端·架构
Shawn_Shawn16 小时前
本体论的基本核心概念
后端·llm·领域驱动设计
凤山老林1 天前
Spring Boot 3.x AOT 编译实战:从原理、踩坑到生产落地
java·spring boot·后端
博傅1 天前
Spring 核心原理
java·后端·spring
用户938515635071 天前
掘金风格后端数据库设计实战:从用户表到分布式架构,一文搞定
后端·sql
拾光师1 天前
Hadoop 三种运行模式:从单机调试到生产集群,一路搭过来
后端
进阶的小名1 天前
Spring AI 2.0 探索:多 OpenAI-Compatible 模型接入,以及下一代 Session 记忆管理
java·人工智能·后端·gpt·spring·ai·chatgpt
卷无止境1 天前
FastAPI 的 Metadata 到底是什么,又牵动了哪些核心概念
后端·python
卷无止境1 天前
FastAPI 调试实战,从断点到生产环境的排错心法
后端·python
敢敢のwings1 天前
智元 GO-2 与 AgiBot-World 深度解读
开发语言·后端·golang