我想让Kafka在aws ecs容器上运行。我已经在本地docker环境中使用 spotify/kafka
形象
为了在本地工作,我需要确保设置了播发的\u host环境变量。 ADVERTISED_HOST
需要设置为容器外部ip,否则当我试图连接它只是给我 connection refused
.
我的本地 docker-compose.yaml
Kafka的容器有这个:
kafka:
image: spotify/kafka
hostname: kafka
environment:
- ADVERTISED_HOST=192.168.0.70
- ADVERTISED_PORT=9092
ports:
- "9092:9092"
- "2181:2181"
restart: always
现在的问题是,我不知道ip将是什么,因为我不知道这将在哪个示例上运行。那么如何设置环境变量呢?
1条答案
按热度按时间dy1byipe1#
您的入口点脚本需要在启动时调用ec2元数据服务(在本例中)http://169.254.169.254/latest/meta-data/local-hostname)获取docker主机名的外部值并设置该变量。
样品: