我使用base.env作为几个Docker服务的env_文件。在这个base.env中,我有几个部分的环境变量在整个文件中重复出现。例如,端口和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中相应服务的environment部分,但这会被解释为容器中的文本字符串。
在base.env文件中有没有一种方法可以满足我的需要?
谢谢你的帮助!