我有一个EB env与Docker Web应用程序(rails)正确部署.我设置了几个EB env变量,它们在容器中正确显示.现在 – 我希望这些EB env变量对EC2实例主机可见,以便我可以在docker构建过程中使用它们.但是,它们不会暴露于码头主机,只能到容器.
如何将EB env变量公开给Docker主机?
最佳答案
我遇到同样的问题,但是在执行后部署Bash脚本时需要使用环境变量.
由于jq parser可用于(当前)Amazon Linux AMI,因此我可以使用它来处理类似的东西来解析JSON,然后导出主机上的环境变量(这是从ebextensions config file摘录):
files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/export_env_vars_on_host.sh":
mode: "000755"
owner: root
group: root
content: |
#!/usr/bin/env bash
echo Defaults:root \!requiretty >> /etc/sudoers
for envvar in `jq '.optionsettings | {"aws:elasticbeanstalk:application:environment"}[] | .[]' /opt/elasticbeanstalk/deploy/configuration/containerconfiguration`
do
temp="${envvar#\"}";
temp="${temp/=/=\"}";
export temp;
done
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。