答案1
我很确定应用程序在容器中运行将具有该环境变量。
问题在于ssh 和 bash在获取 shell 之前清除/清理环境变量。我建议您在基于 EC2 的 ECS 上运行该任务进行测试(即不在 Fargate 上)并docker exec -it {container} bash
进入其中 - 您很可能会ECS_CONTAINER_METADATA_URI_V4
在环境中找到。
顺便说一句 - 通过 ssh 进入容器是一种不好的做法。容器是不可变的,不应该有交互式访问。
希望有帮助:)
答案2
现在,我ECS_CONTAINER_METADATA_URI_V4
通过在容器启动时将其保存到文件中来持久化该值:
echo ${ECS_CONTAINER_METADATA_URI_V4} > metadata_url.txt
这样我就可以访问它了。