You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose如何追加应用配置属性而非直接覆盖

在Docker Compose中追加Spring应用属性而非覆盖

要实现向已有配置追加属性值(以swagger.server.url为例),可以利用Spring Boot的环境变量属性引用特性,直接在Docker Compose的环境变量配置中拼接原有值与新值,具体操作如下:

修改后的Docker Compose配置

wishlist-service:
    image: tejajagadeep/movie-app-wishlist-service:latest
    container_name: wishlist-container
    environment:
      - eureka.client.service-url.defaultZone=http://eureka-server:8761/eureka
      - spring.config.import=optional:configserver:http://config-server:8888/
      - management.zipkin.tracing.endpoint=http://zipkin-server:9411/api/v2/spans
      # 追加新的swagger server url,而非覆盖原有值
      - swagger.server.url=${swagger.server.url:http://localhost:8769/,http://localhost:4200/},http://你的新地址:端口/
      - spring.data.mongodb.uri=mongodb://root:root1234@mongodb:27017/wishlistdb?authSource=admin
    ports:
      - "8082:8082"
    networks:
      - my-movie-network

关键逻辑说明

  • ${swagger.server.url:默认值}:Spring Boot会优先读取容器内已存在的swagger.server.url属性值(比如来自应用内置配置、Config Server的远程配置);如果该属性不存在,则使用冒号后的默认值作为基础。
  • 拼接,http://你的新地址:端口/:将新的URL追加到原有值的末尾,最终形成包含原有地址+新地址的完整配置。

这种方式既保留了原有配置的灵活性(比如从配置中心拉取的动态值),又实现了追加新属性的需求,不会直接覆盖原有配置。

内容的提问来源于stack exchange,提问作者Kollimarla Jagadeep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 14:02:42