Files
integral-shop/deploy/docker/step2-single-shop/README.md
danaisuiyuan fb76270882 feat(deploy): 完整 Docker 部署方案 — 寄卖商城 + 积分商城
新增两步独立 Docker 部署方案(czleilei240 环境):

步骤一 寄卖商城(integral-resell)
- step1-integral/docker-compose.yml:redis(Alpine自建) + houtai(webman PHP8) + h5(Nginx)
- houtai.Dockerfile:PHP 8.0 + 阿里云镜像源 + webman.bin entrypoint
- h5.Dockerfile:Nginx + configs.js 环境变量动态重写
- redis.Dockerfile:Alpine + apk 构建,绕过 DockerHub 镜像源问题
- 宿主机 bind-mount:/www/wwwroot/leileiadmin.czchunfang.com(FTP可直接更新程序)

步骤二 积分商城(single-shop-22)
- step2-single-shop/docker-compose.yml:redis + admin-api + front-api + admin-web + h5
- Java Dockerfiles:OpenJDK 17 + --add-opens Spring Boot 2.2.6 兼容

公共配置
- nginx/:四个域名宝塔 Nginx 反代配置(HTTP→HTTPS 301、SSL 终止)
- scripts/:sync-to-server.sh / deploy-step1.sh / remote-up.sh
- DOCKER_DEPLOY.md:完整部署文档

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-17 17:24:08 +08:00

131 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 步骤二:积分商城 Docker 部署(池州雷蕾商贸 czleilei240
项目:`single-shop-22`(积分商城)
服务:`redis` · `single-front-api`Spring Boot· `single-admin-api`Spring Boot
`single-admin-web`Vue 管理后台)· `single-h5`uni-app H5
步骤一(寄卖商城)与本步骤完全独立,可以单独部署、单独重启。
---
## 快速部署
```bash
cd deploy/docker/step2-single-shop
# 1. 准备环境变量
cp .env.example .env
vim .env # 填入 RDS_PASSWORD、REDIS_PASSWORD
# 2. 全量构建并启动(首次,会编译 Java jar + 打包前端)
docker compose --env-file .env up -d --build
# 3. 查看状态
docker compose --env-file .env ps
docker compose --env-file .env logs -f single-front-api
docker compose --env-file .env logs -f single-admin-api
```
> ⚠️ Java 构建需要从 Maven Central 下载依赖,首次约需 10-20 分钟,请耐心等待。
---
## 域名与端口
| 域名 | 用途 | 宿主机端口 |
|---|---|---|
| `leilei-jf.czchunfang.com` | 积分商城 H5uni-app | **18082** |
| `leilei-jfadmin.czchunfang.com` | 积分商城管理后台Vue | **18081** |
> Spring Boot API 端口30032 / 30033仅容器内使用不对外暴露通过 Nginx 反代访问。
---
## 宝塔 Nginx 配置
将以下两个文件内容分别粘贴到宝塔面板对应站点的「配置文件」中:
| 配置文件 | 说明 |
|---|---|
| `deploy/docker/nginx/leilei-jf.czchunfang.com.conf` | H5 站点upstream → 127.0.0.1:18082 |
| `deploy/docker/nginx/leilei-jfadmin.czchunfang.com.conf` | 管理后台upstream → 127.0.0.1:18081 |
证书路径(文件已在项目中):
```
deploy/docker/ssl-cert/
leilei-jf.czchunfang.com_cert/nginx/leilei-jf.czchunfang.com.{pem,key}
leilei-jfadmin.czchunfang.com_cert/nginx/leilei-jfadmin.czchunfang.com.{pem,key}
```
---
## 验证
| 地址 | 预期 |
|------|------|
| `https://leilei-jf.czchunfang.com/` | 积分商城 H5生产 |
| `https://leilei-jfadmin.czchunfang.com/` | 积分商城管理后台(生产) |
| `http://116.62.83.240:18082/` | H5 直连测试(绕过域名/SSL |
| `http://116.62.83.240:18081/` | 管理后台直连测试 |
---
## 仅重建前端(改了域名后)
前端镜像在 build time 注入了 API 域名(`VUE_APP_BASE_API` / `H5_API_DOMAIN`
修改 `.env` 中的 URL 后需要重新构建:
```bash
# 重建管理后台(改了 SINGLE_ADMIN_API_PUBLIC_URL
docker compose --env-file .env build single-admin-web
docker compose --env-file .env up -d single-admin-web
# 重建 H5改了 SINGLE_FRONT_API_PUBLIC_URL
docker compose --env-file .env build single-h5
docker compose --env-file .env up -d single-h5
```
---
## 常用命令
```bash
# 重启某个服务
docker compose --env-file .env restart single-admin-api
# 实时日志
docker compose --env-file .env logs -f single-admin-api
docker compose --env-file .env logs -f single-front-api
# 进入容器
docker compose --env-file .env exec single-admin-api bash
# 停止(保留卷)
docker compose --env-file .env down
# 停止并删除卷(慎用:清空图片/日志)
docker compose --env-file .env down -v
```
---
## czleilei240 关键配置对照
| 配置项 | 值 |
|---|---|
| RDS Host | `rm-bp1a178eq62lxba9xbo.mysql.rds.aliyuncs.com` |
| DB / User | `yangtangyoupin` |
| admin-web API URLVUE_APP_BASE_API | `https://leilei-jf.czchunfang.com` |
| H5 API DomainH5_API_DOMAIN | `https://leilei-jf.czchunfang.com` |
| SYNC_SOURCE_ID | `shop_15` |
| SYNC_TARGET_MER_ID | `15` |
| Spring profile | `docker`application-docker.yml 通过 env 注入) |
---
## 备注
- `single-images` 卷挂载到两个 API 容器,确保图片文件共享。
- JVM 参数已包含 Java 17 + Spring Boot 2.2.6 所需的 `--add-opens` 标志(见 Dockerfile