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"]
相关推荐
wno7041 分钟前
Spring Security添加图形验证码
java·后端·spring
ewbok13 分钟前
Springboot整合mqtt实现软硬件通信
后端
CRZZX20 分钟前
阶段 0.3:为 AI Agent 建立输入、工具、限流与前端渲染安全边界
后端
鱼弦22 分钟前
实时性能力的边界:大模型能否胜任毫秒级响应的交互?
后端
葡萄城技术团队36 分钟前
买来的设备管理系统总"不合脚"?——"管理+感知+智能"三层框架与分期落地路径
后端
程序员天天困1 小时前
RustFS 1.0.0 深度解析:GA 之后,它值得替代 MinIO 吗?
后端·云原生·rust
葡萄城技术团队1 小时前
GcExcel V9.2 新特性揭秘:注音文字,随正文一起进 PDF
后端
海阔天空3671 小时前
1538 万行大表从 SQL Server 搬到 MySQL:一个支持断点续传的迁移工具设计与踩坑实录
后端
狗头大军之江苏分军1 小时前
《潮水漫过十七岁》爸爸最近很忙
后端
isfox1 小时前
MapReduce Join 操作:大表关联小表用 Map 端,大表关联大表用 Reduce 端
后端