ソースを参照

feat(deploy): 添加Docker部署相关文件

- 新增auth、bill、customer、external、gateway、gen、job、mall、monitor、order、product、resource等模块的Dockerfile
- 创建批量构建Docker镜像的脚本build-images.sh
- 配置完整的docker-compose应用编排文件,包含所有微服务组件
- 统一使用bellsoft/liberica-openjdk-rocky:17.0.15-cds作为基础镜像
- 设置各服务的日志目录挂载和端口映射
- 配置SkyWalking探针目录和JVM参数优化
肖路 1 ヶ月 前
コミット
b7de5f9803

+ 27 - 0
ruoyi-auth/auth-Dockerfile

@@ -0,0 +1,27 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/auth/logs  \
+    /ruoyi/auth/temp  \
+    /ruoyi/skywalking/agent
+
+WORKDIR /ruoyi/auth
+
+ENV SERVER_PORT=9210 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-auth.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-auth \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar
+

+ 26 - 0
ruoyi-gateway/gateway-Dockerfile

@@ -0,0 +1,26 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/gateway/logs  \
+    /ruoyi/gateway/temp  \
+    /ruoyi/skywalking/agent
+
+WORKDIR /ruoyi/gateway
+
+ENV SERVER_PORT=8080 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-gateway.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-gateway \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar

+ 27 - 0
ruoyi-modules/ruoyi-bill/bill-Dockerfile

@@ -0,0 +1,27 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/bill/logs \
+    /ruoyi/bill/temp \
+    /ruoyi/skywalking/agent
+
+WORKDIR /ruoyi/bill
+
+ENV SERVER_PORT=9318 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-bill.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-bill \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar
+

+ 27 - 0
ruoyi-modules/ruoyi-customer/customer-Dockerfile

@@ -0,0 +1,27 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/customer/logs \
+    /ruoyi/customer/temp \
+    /ruoyi/skywalking/agent
+
+WORKDIR /ruoyi/customer
+
+ENV SERVER_PORT=9212 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-customer.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-customer \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar
+

+ 28 - 0
ruoyi-modules/ruoyi-external/external-Dockerfile

@@ -0,0 +1,28 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/external/logs \
+    /ruoyi/external/temp \
+    /ruoyi/skywalking/agent
+
+WORKDIR /ruoyi/external
+
+ENV SERVER_PORT=9618 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-external.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-external \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar
+
+

+ 20 - 0
ruoyi-modules/ruoyi-gen/gen-Dockerfile

@@ -0,0 +1,20 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/gen/logs
+
+WORKDIR /ruoyi/gen
+
+ENV SERVER_PORT=9202 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-gen.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} ${JAVA_OPTS} -jar app.jar

+ 30 - 0
ruoyi-modules/ruoyi-job/job-Dockerfile

@@ -0,0 +1,30 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/job/logs \
+    /ruoyi/job/temp \
+    /ruoyi/skywalking/agent
+
+WORKDIR /ruoyi/job
+
+ENV SERVER_PORT=9203 SNAIL_PORT=29203 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+# 暴露 snail job 客户端端口 用于定时任务调度中心通信
+EXPOSE ${SNAIL_PORT}
+
+ADD ./target/ruoyi-job.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           -Dsnail-job.port=${SNAIL_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-job \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar
+

+ 26 - 0
ruoyi-modules/ruoyi-mall/mall-Dockerfile

@@ -0,0 +1,26 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/mall/logs \
+    /ruoyi/mall/temp \
+    /ruoyi/skywalking/agent
+WORKDIR /ruoyi/mall
+
+ENV SERVER_PORT=9216 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-mall.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-mall \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar
+

+ 27 - 0
ruoyi-modules/ruoyi-order/order-Dockerfile

@@ -0,0 +1,27 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/order/logs \
+    /ruoyi/order/temp \
+    /ruoyi/skywalking/agent
+
+WORKDIR /ruoyi/order
+
+ENV SERVER_PORT=9213 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-order.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-order \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar
+

+ 27 - 0
ruoyi-modules/ruoyi-product/product-Dockerfile

@@ -0,0 +1,27 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/prouct/logs \
+    /ruoyi/prouct/temp \
+    /ruoyi/skywalking/agent
+
+WORKDIR /ruoyi/prouct
+
+ENV SERVER_PORT=9608 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-product.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-prouct \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar
+

+ 27 - 0
ruoyi-modules/ruoyi-resource/resource-Dockerfile

@@ -0,0 +1,27 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/resource/logs \
+    /ruoyi/resource/temp \
+    /ruoyi/skywalking/agent
+
+WORKDIR /ruoyi/resource
+
+ENV SERVER_PORT=9204 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-resource.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-resource \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar
+

+ 27 - 0
ruoyi-modules/ruoyi-workflow/Dockerfile.server

@@ -0,0 +1,27 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/workflow/logs \
+    /ruoyi/workflow/temp \
+    /ruoyi/skywalking/agent
+
+WORKDIR /ruoyi/workflow
+
+ENV SERVER_PORT=9205 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-workflow.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-system \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar
+

+ 22 - 0
ruoyi-visual/ruoyi-monitor/monitor-Dockerfile

@@ -0,0 +1,22 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/monitor/logs
+
+WORKDIR /ruoyi/monitor
+
+ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE 9100
+
+ADD ./target/ruoyi-monitor.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar

+ 61 - 0
script/docker/build-images.sh

@@ -0,0 +1,61 @@
+#!/bin/bash
+# 批量构建所有服务的 Docker 镜像
+# 使用说明:
+#   1. 将所有 jar 包上传至服务器 /docker/jar 目录
+#   2. 在项目根目录执行:bash build-images.sh
+#   3. 如需指定版本号:bash build-images.sh 2.4.1
+
+VERSION=${1:-2.4.1}
+
+echo "======================================================"
+echo "  开始构建所有服务镜像,版本号:${VERSION}"
+echo "======================================================"
+
+# 构建函数
+build_image() {
+  local service=$1       # 服务名,如 ruoyi-gateway
+  local dockerfile=$2    # Dockerfile 路径,相对于项目根目录
+  local image="ruoyi/${service}:${VERSION}"
+
+  echo ""
+  echo "------------------------------------------------------"
+  echo "  构建镜像:${image}"
+  echo "  Dockerfile:${dockerfile}"
+  echo "------------------------------------------------------"
+  docker build -f "${dockerfile}" -t "${image}" .
+  if [ $? -eq 0 ]; then
+    echo "  [成功] ${image}"
+  else
+    echo "  [失败] ${image} 构建失败,请检查日志"
+    exit 1
+  fi
+}
+
+# ===================== 网关 =====================
+build_image "ruoyi-gateway"         "/docker/jar/gateway-Dockerfile"
+
+# ===================== 认证 =====================
+build_image "ruoyi-auth"            "/docker/jar/auth-Dockerfile"
+
+# ===================== 业务模块 =====================
+build_image "ruoyi-system"          "/docker/jar/system-Dockerfile"
+build_image "ruoyi-job"             "/docker/jar/job-Dockerfile"
+build_image "ruoyi-resource"        "/docker/jar/resource-Dockerfile"
+build_image "ruoyi-product"         "/docker/jar/product-Dockerfile"
+build_image "ruoyi-external"        "/docker/jar/external-Dockerfile"
+build_image "ruoyi-order"           "/docker/jar/order-Dockerfile"
+build_image "ruoyi-customer"        "/docker/jar/customer-Dockerfile"
+build_image "ruoyi-bill"            "/docker/jar/bill-Dockerfile"
+build_image "ruoyi-mall"            "/docker/jar/mall-Dockerfile"
+
+# ===================== 可视化组件 =====================
+build_image "ruoyi-monitor"         "/docker/jar/monitor-Dockerfile"
+build_image "ruoyi-snailjob-server" "/docker/jar/snailjob-Dockerfile"
+
+echo ""
+echo "======================================================"
+echo "  所有镜像构建完成!共 13 个服务"
+echo "======================================================"
+echo ""
+echo "镜像列表:"
+docker images | grep "ruoyi/" | grep "${VERSION}"

+ 185 - 0
script/docker/docker-compose-app.yml

@@ -0,0 +1,185 @@
+services:
+  ruoyi-monitor:
+    image: ruoyi/ruoyi-monitor:2.4.1
+    container_name: ruoyi-monitor
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "9100:9100"
+    volumes:
+      # 日志目录
+      - /home/docker/ruoyi-monitor/logs/:/ruoyi/monitor/logs
+    privileged: true
+    network_mode: "host"
+
+  ruoyi-snailjob-server:
+    image: ruoyi/ruoyi-snailjob-server:2.4.1
+    container_name: ruoyi-snailjob-server
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "8800:8800"
+      - "17888:17888"
+    volumes:
+      - /home/docker/snailjob/logs/:/ruoyi/snailjob/logs
+    privileged: true
+    network_mode: "host"
+
+  ruoyi-gateway:
+    image: ruoyi/ruoyi-gateway:2.4.1
+    container_name: ruoyi-gateway
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "8080:8080"
+    volumes:
+      # 日志目录
+      - /home/docker/ruoyi-gateway/logs/:/ruoyi/gateway/logs
+    privileged: true
+    network_mode: "host"
+
+  ruoyi-auth:
+    image: ruoyi/ruoyi-auth:2.4.1
+    container_name: ruoyi-auth
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "9210:9210"
+    volumes:
+      # 日志目录
+      - /home/docker/ruoyi-auth/logs/:/ruoyi/auth/logs
+    privileged: true
+    network_mode: "host"
+
+  ruoyi-system:
+    image: ruoyi/ruoyi-system:2.4.1
+    container_name: ruoyi-system
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "9214:9214"
+    volumes:
+      # 日志目录
+      - /home/docker/ruoyi-system/logs/:/ruoyi/system/logs
+    privileged: true
+    network_mode: "host"
+
+  ruoyi-job:
+    image: ruoyi/ruoyi-job:2.4.1
+    container_name: ruoyi-job
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+      SERVER_PORT: 9203
+      SNAIL_PORT: 29203
+    ports:
+      - "9203:9203"
+      - "29203:29203"
+    volumes:
+      # 日志目录
+      - /home/docker/ruoyi-job/logs/:/ruoyi/job/logs
+    privileged: true
+    network_mode: "host"
+
+  ruoyi-resource:
+    image: ruoyi/ruoyi-resource:2.4.1
+    container_name: ruoyi-resource
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "9204:9204"
+    volumes:
+      # 日志目录
+      - /home/docker/ruoyi-resource/logs/:/ruoyi/resource/logs
+    privileged: true
+    network_mode: "host"
+
+  ruoyi-product:
+    image: ruoyi/ruoyi-product:2.4.1
+    container_name: ruoyi-product
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "9608:9608"
+    volumes:
+      # 日志目录
+      - /home/docker/ruoyi-product/logs/:/ruoyi/product/logs
+    privileged: true
+    network_mode: "host"
+
+  ruoyi-external:
+    image: ruoyi/ruoyi-external:2.4.1
+    container_name: ruoyi-external
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "9618:9618"
+    volumes:
+      # 日志目录
+      - /home/docker/ruoyi-external/logs/:/ruoyi/external/logs
+    privileged: true
+    network_mode: "host"
+
+  ruoyi-order:
+    image: ruoyi/ruoyi-order:2.4.1
+    container_name: ruoyi-order
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "9213:9213"
+    volumes:
+      # 日志目录
+      - /home/docker/ruoyi-order/logs/:/ruoyi/order/logs
+    privileged: true
+    network_mode: "host"
+
+  ruoyi-customer:
+    image: ruoyi/ruoyi-customer:2.4.1
+    container_name: ruoyi-customer
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "9212:9212"
+    volumes:
+      # 日志目录
+      - /home/docker/ruoyi-customer/logs/:/ruoyi/customer/logs
+    privileged: true
+    network_mode: "host"
+
+  ruoyi-bill:
+    image: ruoyi/ruoyi-bill:2.4.1
+    container_name: ruoyi-bill
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "9318:9318"
+    volumes:
+      # 日志目录
+      - /home/docker/ruoyi-bill/logs/:/ruoyi/bill/logs
+    privileged: true
+    network_mode: "host"
+
+  ruoyi-mall:
+    image: ruoyi/ruoyi-mall:2.4.1
+    container_name: ruoyi-mall
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "9216:9216"
+    volumes:
+      # 日志目录
+      - /home/docker/ruoyi-mall/logs/:/ruoyi/mall/logs
+    privileged: true
+    network_mode: "host"