Hor*_*rse 5 amazon-web-services amazon-ecs apache-kafka docker
我正在尝试让 Kafka 在 AWS ECS 容器上运行。我已经有了这个设置/在我的本地 docker 环境中工作正常,使用spotify/kafka 图像
为了在本地工作,我需要确保设置了ADVERTISED_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
Run Code Online (Sandbox Code Playgroud)
现在的问题是,我不知道 IP 将是什么,因为我不知道这将在哪个实例上运行。那么如何设置该环境变量呢?
您的入口点脚本需要在启动时调用EC2 元数据服务(在本例中为http://169.254.169.254/latest/meta-data/local-hostname)以获取外部到 docker 主机名并设置该变量。
样本:
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/local-hostname
ip-10-251-50-12.ec2.internal
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2499 次 |
| 最近记录: |