amazon-web-services-AWS ECS上的Kafka,如何在没有已知实例的情况下处理advertised.host?

前端之家收集整理的这篇文章主要介绍了amazon-web-services-AWS ECS上的Kafka,如何在没有已知实例的情况下处理advertised.host? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试让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主机名并设置该变量.

样品:

[ec2-user ~]$curl http://169.254.169.254/latest/Meta-data/local-hostname
ip-10-251-50-12.ec2.internal
原文链接:https://www.f2er.com/docker/532726.html

猜你在找的Docker相关文章