我正在通过AWS ECS运行docker容器,并且我正在尝试使用ecs-agent设置的环境变量。特别是我抓住了
$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
我以root身份登录到容器,当我检查env时,上面存在。但是,当我使用sudo检查env时,环境变量不存在。
我正在运行一个使用此变量的python脚本,当我以root身份运行脚本时,脚本能够很好地找到环境变量并成功执行。但是我需要使用cron运行此脚本。到目前为止,我还没有能够让cron运行并访问根环境变量。任何想法,将不胜感激。
答案 0 :(得分:1)
我通过将该环境变量转储到文件来解决这个问题。然后我从我的cron作业执行的脚本中获取该文件。
例如,在我的Dockerfile
我有类似的内容:
CMD echo "export AWS_CONTAINER_CREDENTIALS_RELATIVE_URI=$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" > /src/containerCreds.sh && ...
然后,我的cron作业脚本会找到包含导出的env var。
的文件. /src/conatinerCreds.sh