Spring Boot + Docker Compose: How to override 'Map<String, List<String>>' environment variable from yaml properties

Viewed 157

I am using yaml properties file for the sping boot configuration.

My structure of application.yml is following:

information:
  server: ${SERVER_INFO:devserver}
  config:
    "[http://www.myshop.com]":
      - Sam
      - Joe
    "[https://www.google.com]":
      - Mary
   ... other properties of Map type.

All this values basically represent structure Map<String, List<String>> where key is site address and List is a array of the users. There could be many entries of this map, I am using this structure to read properties dynamicly.

How my docker container looks:

app:
  ports:
    - "8080:8080"
  build:
    ... i will skip this info
  image: testapp
  environment:
    - SERVER_PORT=8080
    - SERVER_INFO=QAAserver // overrided sucessfully
    - INFORMATION_CONFIG=?? // how to pass Map<Sting, List<String>> here?

So, basically, I need an ability to pass values of Map<String, List<String>> from docker compose env var to the spring boot, to override current value. How can I do it?

1 Answers
Related