docker-compose.yml传入环境变量参数进容器,springboot使用。

参考:

https://docs.docker.com/compose/compose-file/compose-file-v3/#compose-file-v34-and-under

https://docs.docker.com/compose/compose-file/compose-file-v3/#env_file

第一步:定义自己的参数,在myEnv.env   或 .env的文件中,内容格式示例:

mysql_url=jdbc:mysql://local:3306/sample?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
mysql_username=root
mysql_password=WeLoveDocker

.经验证,变量名不能使用 短杠-。

 

第二步:在docker-compose.yml文件中,

第一种方式,使用env_file的配置项,配置 myEnv.env 文件传入,myEnv.env 文件与docker-compose.yml文件,在同级目录下。示例:

services:
  sample:
    restart: always
    container_name: sample
    image: openjdk:8-jre
    env_file:
        - myEnv.env

第二种方式,使用environment配置顶传入,其中${mysql_url}的值,定义在.env文件中,与docker-compose.yml文件,在同级目录下。示例:

services:
  sample2:
    restart: always
    container_name: sapmle2
    image: openjdk:8-jre
    environment:
       TZ: "Asia/Shanghai"
       mysql_url: "${mysql_url}"
       mysql_username: "${mysql_username}"
       mysql_password: "${mysql_password}"

 

第三步:在docker容器里跑的sprign项目,就可以使用由docker-compse传入的环境变量了。

/src/main/resources/application.yml示例:

spring:
  datasource:
    url: ${mysql_url}
    username: ${mysql_username}
    password: ${mysql_password}

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值