【docker】docker的环境变量怎么写

背景

docker 启动的时候,有时候需要修改一些参数,就是那些 --env key=vvvvvvvv 这种的,那这个 key 是怎样定的呢?

比如现在有一个 eureka , 在 springboot项目里面的 bootstrap.yml 文件有这么一段

eureka:
  instance:
    leaseRenewalIntervalInSeconds: 10 ##心跳检测时长
    prefer-ip-address: true
  client:
    registryFetchIntervalSeconds: 5
    instanceInfoReplicationIntervalSeconds: 5
    initialInstanceInfoReplicationIntervalSeconds: 5
    serviceUrl:
      defaultZone: ${ENV_EUREKA:http://localhost:8761/eureka/}

docker run 的时候, 这个 eureka 的地址肯定不会是 localhost 的, 但也不想进入jar包里面,把这个值改掉,重新打包,打镜像什么。(这个想想都不科学)
如果可以在 docker run 参数指定一下,是不是就好多了。。。。 那这个要写样写呢:

它这里的这个 ENV_EUREKA 就相当于一个环境变量了, 所以是可以这样写的

docker run --env ENV_EUREKA=http://10.12.12.22:8761/eureka/ .... 这样。

还有另外一种写法,就是使用完全路径:

docker run --env eureka.client.serviceUrl.defaultZone=http://10.12.12.22:8761/eureka/ ....

相比之下,当然是第一种更舒服一些。。。两种都可以,记录一下。

posted @ 2023-07-04 20:53  aaacarrot  阅读(70)  评论(0编辑  收藏  举报