我正在将base.env用作docker服务的env_file。在这个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文件中的适当服务的环境部分中,但是这将被容器解释为字面字符串。
是否有办法在base.env文件中实现我的需求? 感谢您的帮助!