如何从Docker Conainer内运行的应用程序读取ECS实例标签信息

我正在尝试从部署为ECS服务的应用程序中读取我的EC2实例标记(键和值)。 所以我在docker容器内,我正在尝试读取主机实例的元数据。

我在AWS中查看了这个文档,但是这里只讨论通过SSH读取EC2实例元数据的细节。 但我不打算做SSH。 所以这些API不能在Docker容器中工作。

不过,我发现了一种方法来从我的应用程序中读取docker容器内的mata-data信息。 如curl http://169.254.169.254/latest/meta-data/

您可以在作为ECS服务运行的Docker容器中运行这些命令,以获取有关元数据的一些信息。

但是,如何读取运行我的Docker容器的EC2主机实例上的标签?

我喜欢在正在运行的docker容器中读取一个名为Environment的 EC2主机实例上的标签。

在ECS容器中安装API SDK

确保容器实例具有您感兴趣的实例的ec2:ResourceTag读取权限。我从您的问题中假设这是容器实例本身?

然后使用API​​ SDK调用来加载标签

在shell的AWS CLI中, aws ec2 describe-tags调用可能是您想要的,请参阅http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-tags.html