How to use environment variables in docker compose

后端 未结 13 749
孤街浪徒
孤街浪徒 2020-11-28 01:02

I would like to be able to use env variables inside docker-compose.yml, with values passed in at the time of docker-compose up. This is the example.

I am

13条回答
  •  爱一瞬间的悲伤
    2020-11-28 01:15

    When using environment variables for volumes you need:

    1. create .env file in the same folder which contains docker-compose.yaml file

    2. declare variable in the .env file:

      HOSTNAME=your_hostname
      
    3. Change $hostname to ${HOSTNAME} at docker-compose.yaml file

      proxy:
        hostname: ${HOSTNAME}
        volumes:
          - /mnt/data/logs/${HOSTNAME}:/logs
          - /mnt/data/${HOSTNAME}:/data
      

    Of course you can do that dynamically on each build like:

    echo "HOSTNAME=your_hostname" > .env && sudo docker-compose up
    

提交回复
热议问题