Files
integral-shop/deploy/docker/single-shop/front-api.Dockerfile
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

63 lines
2.3 KiB
Docker
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.
# =============================================================
# 寄卖商城 用户端 API miao-front-2.2.jar
# build context = single-shop-22/backend
# 对应宿主机启动命令:
# nohup java -Xms128m -Xmx256m -jar miao-front-2.2.jar > front.log &
# =============================================================
# syntax=docker/dockerfile:1.6
FROM maven:3.8.8-eclipse-temurin-17 AS builder
WORKDIR /src
COPY pom.xml ./
COPY crmeb-common/pom.xml crmeb-common/pom.xml
COPY crmeb-service/pom.xml crmeb-service/pom.xml
COPY crmeb-admin/pom.xml crmeb-admin/pom.xml
COPY crmeb-front/pom.xml crmeb-front/pom.xml
RUN mvn -B -pl crmeb-front -am dependency:go-offline -DskipTests || true
COPY . .
RUN mvn -B clean package -pl crmeb-front -am -DskipTests
FROM eclipse-temurin:17-jre-jammy
ENV TZ=Asia/Shanghai \
DEBIAN_FRONTEND=noninteractive \
LANG=C.UTF-8 LC_ALL=C.UTF-8
# 堆大小:可通过 compose 的 JAVA_HEAP_OPTS 覆盖
ENV JAVA_HEAP_OPTS="-Xms128m -Xmx256m"
# Spring Boot 2.2.6 + Java 17 必须的模块开放参数(固定,不允许 compose 覆盖)
ENV JAVA_MODULE_OPTS="\
--add-opens java.base/java.lang=ALL-UNNAMED \
--add-opens java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens java.base/java.util=ALL-UNNAMED \
--add-opens java.base/java.io=ALL-UNNAMED \
--add-opens java.base/java.math=ALL-UNNAMED \
--add-opens java.base/sun.net.util=ALL-UNNAMED \
--add-opens java.base/java.net=ALL-UNNAMED"
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
tzdata ca-certificates curl \
fontconfig fonts-dejavu fonts-wqy-zenhei \
&& ln -sf /usr/share/zoneinfo/$TZ /etc/localtime \
&& echo $TZ > /etc/timezone \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /app /config /usr/local/crmeb/crmebimage /app/log
WORKDIR /app
COPY --from=builder /src/crmeb-front/target/miao-front-2.2.jar /app/app.jar
EXPOSE 30031
# 等价于nohup java -Xms128m -Xmx256m -jar miao-front-2.2.jar > front.log &
# 日志直接输出到容器 stdoutdocker logs 可查看
ENTRYPOINT ["sh","-c","exec java \
$JAVA_HEAP_OPTS \
$JAVA_MODULE_OPTS \
-Dfile.encoding=UTF-8 \
-Duser.timezone=$TZ \
-jar /app/app.jar \
--spring.profiles.active=${SPRING_PROFILES_ACTIVE:-docker} \
--spring.config.additional-location=file:/config/ \
--server.port=${SERVER_PORT:-30031}"]