| 服务 | 端口 | 容器名 | 镜像 |
|---|---|---|---|
| Java 后端 | 8001 | java-backend | xjz/java-backend:1.0.0 |
| 前端 | 5173 | frontend | xjz/frontend:2.5.4 |
docker run -d --name java-backend \
-p 8001:8001 \
--network payment-platform_app-tier \
-e TZ=Asia/Shanghai \
-e SPRING_PROFILES_ACTIVE=prod \
-e JAVA_OPTS="-Xms256m -Xmx512m" \
-e SPRING_DATASOURCE_DRUID_URL="jdbc:postgresql://postgres:5432/payment_platform_java?currentSchema=public" \
-e SPRING_DATASOURCE_DRUID_USERNAME=admin \
-e SPRING_DATASOURCE_DRUID_PASSWORD='xjz#123321' \
-e SPRING_DATA_REDIS_HOST=redis \
-e SPRING_DATA_REDIS_PORT=6379 \
-e SPRING_DATA_REDIS_DATABASE=0 \
-e SPRING_DATA_REDIS_PASSWORD='123456#xjz' \
xjz/java-backend:1.0.0
用项目根目录的 deploy.sh 一键完成:构建 JAR → 打包镜像 → 启动容器 → 验证。
# 本地 → 服务器
scp D:\project2\payment-platform\java\target\payment-platform-1.0.0.jar root@服务器IP:/opt/payment/app.jar
scp D:\project2\payment-platform\deploy.sh root@服务器IP:/tmp/
# 服务器上执行
bash /tmp/deploy.sh
deploy.sh 流程:COPY JAR → build 新镜像 → stop/rm 旧容器 → run 新容器 → 等 30s → 验证 trade/precreate 端点。
# 1. 确认容器运行中
docker ps | grep java-backend
# 2. 确认启动成功(等 30 秒后)
docker logs java-backend --tail 20
# 3. 健康检查
curl http://localhost:8001/api/v1/payment/notify/health
# 应返回: {"code":0,...}
# 4. 确认代码版本
docker cp java-backend:/app.jar /tmp/app.jar
unzip -p /tmp/app.jar "BOOT-INF/classes/com/payment/platform/module/system/auth/service/AuthService.class" > /tmp/AS.class
strings /tmp/AS.class | grep "<关键字>"
# 本地构建
cd /home/payments/code/payment-platform/frontend
npm run build
# 复制到容器
docker cp dist/. frontend:/usr/share/nginx/html/
# 重载 nginx(如果容器内配置了 nginx)
docker exec frontend nginx -s reload
cd /home/payments/code/payment-mini
npm run build:alipay
# 打开支付宝开发者工具 → 上传
# 后端实时日志
docker logs -f java-backend
# 最近 100 行
docker logs java-backend --tail 100
# 过滤错误
docker logs java-backend --tail 200 2>&1 | grep -iE "ERROR|WARN"
# 连接 PostgreSQL
docker exec -it postgres psql -U admin -d payment_platform_java
# 查看消息队列
docker logs rocketmq-broker --tail 50
| 变量 | 默认值 | 说明 |
|---|---|---|
SPRING_PROFILES_ACTIVE |
prod | Spring 配置环境 |
JAVA_OPTS |
-Xms256m -Xmx512m | JVM 参数 |
SPRING_DATASOURCE_DRUID_URL |
— | PG 连接串 |
SPRING_DATA_REDIS_HOST |
redis | Redis 地址 |
SPRING_DATA_REDIS_PASSWORD |
— | Redis 密码 |