下面给出一条最简路线
Windows 10 上把 本地 JAR 发到 Linux → 当场 build 镜像启动容器,全程两条命令即可(含自动装工具、可写进 .bat 一键双击)。


一、Linux 服务器(只做一次)

  1. 装 Docker & 免 sudo

bash

复制

sudo apt update && sudo apt install -y docker.io docker-compose-plugin
sudo usermod -aG docker $USER && newgrp docker
systemctl enable --now docker
  1. 准备目录 & 启动脚本

bash

复制

mkdir -p /opt/jar-docker
cat >/opt/jar-docker/rebuild.sh <<'EOF'
#!/bin/bash
cd /opt/jar-docker
docker build -t myjar:latest .
docker rm -f myjar 2>/dev/null
docker run -d --name myjar -p 8080:8080 myjar:latest
EOF
chmod +x /opt/jar-docker/rebuild.sh
  1. 放一份通用 Dockerfile(同目录)

dockerfile

复制

FROM openjdk:17-jdk-slim
WORKDIR /app
COPY app.jar .
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"]

二、Windows 10 端(一键脚本)

把下面保存为 deploy-jar.bat 放到 maven 项目根目录(或任何含 app.jar 的文件夹):

bat

复制

@echo off
:: 0. 准备变量
set SERVER=root@erp.akunlong.top
set PASS=你的密码
set JAR=target\app.jar
if not exist %JAR% set JAR=app.jar
if not exist %JAR% (echo 未找到 JAR & pause & exit /b 1)

:: 1. 装 pscp/plink(一次性)
where pscp >nul 2>nul || choco install putty -y
where plink >nul 2>nul || echo 请手动 choco install putty && pause && exit /b 1

:: 2. 上传 JAR
pscp -pw %PASS% %JAR% %SERVER%:/opt/jar-docker/app.jar

:: 3. 远程 build + 启动
plink -pw %PASS% %SERVER% "bash /opt/jar-docker/rebuild.sh"

echo ===== 完成,浏览器访问 http://erp.akunlong.top:8080 =====
pause

三、使用

  1. 本地 Maven 打包

powershell

复制

mvn clean package -DskipTests
  1. 双击 deploy-jar.bat
    → 自动装 putty 工具 → 上传 JAR → 远端 build → 容器重启

  2. 浏览器打开 http://<Linux_IP>:8080 验证。


四、常见坑

  • 端口占用:改 -p 8080:8080 为其他端口即可。

  • 防火墙:Linux ufw allow 8080

  • 密码明文:首次跑通后建议换 密钥免密ssh-keygenssh-copy-id)。

一条 mvn package + 一条 deploy-jar.batWin10 编译 → Linux 镜像 → 容器启动 全搞定!

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐