【发布时间】:2018-12-15 05:46:54
【问题描述】:
我使用 base.env 作为我的几个 docker 服务的 env_file。在这个 base.env 中,我有几个环境变量部分在整个文件中重复。例如,对于三个不同的环境变量,port 和 ip 是相同的。 我想在环境变量中指定这些变量,然后重复使用这些变量来填写其他环境变量。
这里是 base.env:
### Kafka
# kafka's port is 9092 by default in the docker-compose file
KAFKA_PORT_NUMBER=9092
KAFKA_TOPIC=some-topic
KAFKA_IP=kafka
KAFKA_CONN: //$KAFKA_IP:$KAFKA_PORT_NUMBER/$KAFKA_TOPIC
# kafka topic that is to be created. Note that ':1:3' should remain the same.
KAFKA_CREATE_TOPICS=$KAFKA_TOPIC:1:3
# the url for connecting to kafka
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://$KAFKA_IP:$KAFKA_PORT_NUMBER
我试过写
KAFKA_CONN: //$${KAFKA_IP}:$${KAFKA_PORT_NUMBER}/$${KAFKA_TOPIC}
在 docker-compose.yml 中相应服务的环境部分,但这会被解释为容器中的文字字符串。
有没有办法在 base.env 文件中做我想做的事? 感谢您的帮助!
【问题讨论】:
标签: docker environment-variables