我正在尝试让Kafka在AWS ECS容器上运行.我已经有此设置/使用spotify / kafka image在我的本地docker环境中工作正常
为了使它在本地运行,我需要确保ADVERTISED_HOST environment variable was set.需要将ADVERTISED_HOST设置为容器的外部IP,否则当我尝试连接时,它只是拒绝了我的连接.
我的本地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将是什么,因为我不知道它将在哪个实例上运行.那么如何设置该环境变量?
最佳答案
您的入口点脚本将需要在启动时调用EC2 Metadata Service(在本例中为http://169.254.169.254/latest/meta-data/local-hostname),以获取docker-to-docker主机名并设置该变量.
原文链接:https://www.f2er.com/docker/532726.html样品:
[ec2-user ~]$curl http://169.254.169.254/latest/Meta-data/local-hostname
ip-10-251-50-12.ec2.internal