From 4dcbc552b86e4474ac0ef72787d72a95e0b2d7da Mon Sep 17 00:00:00 2001 From: chenjiale Date: Thu, 4 Dec 2025 09:39:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=90=8C=E6=AD=A5=E5=8A=9F=E8=83=BD=E5=B9=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=20Dockerfile=20=E4=BB=A5=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 15 ++++++++++++++- yudao-server/Dockerfile | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index bf728a8..0660819 100644 --- a/.drone.yml +++ b/.drone.yml @@ -29,6 +29,16 @@ steps: commands: - docker build --build-arg JAVA_OPTS="-Xms512m -Xmx512m" --build-arg ARGS="" -f yudao-server/Dockerfile -t alert-backend:latest yudao-server + - name: sync config to host + image: alpine:3.20 + volumes: + - name: config-dir + path: /opt/alert/alert-backend + commands: + - mkdir -p /opt/alert/alert-backend + - cp yudao-server/src/main/resources/application*.yaml /opt/alert/alert-backend/ + - cp yudao-server/src/main/resources/logback-spring.xml /opt/alert/alert-backend/ + - name: run container image: docker @@ -38,7 +48,7 @@ steps: commands: - docker stop alert-backend || true - docker rm alert-backend || true - - docker run -d --restart always --name alert-backend --network alert-net -p 48080:48080 alert-backend:latest + - docker run -d --restart always --name alert-backend --network alert-net -p 48080:48080 -v /opt/alert/alert-backend:/opt/alert/alert-backend alert-backend:latest volumes: - name: dockersock @@ -47,3 +57,6 @@ volumes: - name: maven-cache host: path: /tmp/.m2 + - name: config-dir + host: + path: /opt/alert/alert-backend diff --git a/yudao-server/Dockerfile b/yudao-server/Dockerfile index 9c09e1f..ddd5ae6 100644 --- a/yudao-server/Dockerfile +++ b/yudao-server/Dockerfile @@ -5,6 +5,17 @@ FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/eclipse-temurin:21-jre ## 创建目录,并使用它作为工作目录 RUN mkdir -p /yudao-server WORKDIR /yudao-server + +## 配置文件目录,便于挂载到宿主机进行修改 +ARG CONFIG_DIR=/opt/alert/alert-backend +ENV CONFIG_DIR=${CONFIG_DIR} +RUN mkdir -p ${CONFIG_DIR} +VOLUME ${CONFIG_DIR} + +## 将默认配置同步到配置目录,供首次启动或参考 +COPY ./src/main/resources/application*.yaml ${CONFIG_DIR}/ +COPY ./src/main/resources/logback-spring.xml ${CONFIG_DIR}/ + ## 将后端项目的 Jar 文件,复制到镜像中 COPY ./target/yudao-server.jar app.jar @@ -15,9 +26,11 @@ ENV JAVA_OPTS="-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom" ## 应用参数 ENV ARGS="" +ENV SPRING_CONFIG_ADDITIONAL_LOCATION=file:${CONFIG_DIR}/ +ENV LOGGING_CONFIG=${CONFIG_DIR}/logback-spring.xml ## 暴露后端项目的 48080 端口 EXPOSE 48080 ## 启动后端项目 -CMD java ${JAVA_OPTS} -jar app.jar $ARGS +CMD java ${JAVA_OPTS} -Dlogging.config=${LOGGING_CONFIG} -jar app.jar --spring.config.additional-location=${SPRING_CONFIG_ADDITIONAL_LOCATION} $ARGS