Docker主机的Elastic Beanstalk环境变量

塔尔

我有一个EB env,且已正确部署Docker Web应用程序(导轨)。我设置了几个EB env变量,它们在容器中正确可见。现在-我希望这些EB env变量对EC2实例主机可见,以便可以在docker构建过程中使用它们。但是,它们不会暴露给docker主机,只会暴露给容器。
如何将EB env变量公开给Docker主机?

塔尔

虽然这是一个难题,但是我将为遇到此问题的人发布我的解决方案。
Elastic Beanstalk Docker实例不会将环境变量公开给Docker主机。它仅对docker容器执行此操作。
如果您想在主机上获取env变量,它们位于/opt/elasticbeanstalk/deploy/configuration/containerconfiguration
这是一个大的JSON文件,可以很方便地违反环境变量的JSON结构。
我编写了一个小的ruby脚本来解析它,并从中提取环境变量:

require 'json'
container_config = JSON.parse(File.read('/opt/elasticbeanstalk/deploy/configuration/containerconfiguration'))
raw_vars =  container_config['optionsettings']['aws:elasticbeanstalk:application:environment']
envs = ''
raw_vars.each do |raw_var|
  pair = raw_var.split('=')
  envs << "export #{pair[0]}=#{pair[1]}\n" if pair[1]
end
puts envs

该脚本产生了一组导出命令以控制台来设置环境变量。我做了些修改,以将ENV命令写入到自己的Dockerfile

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS Elastic Beanstalk Docker环境变量

AWS Elastic Beanstalk没有获取环境变量

在AWS Elastic-Beanstalk上添加/更改环境变量

Elastic Beanstalk定制AMI无法看到环境变量

Python中的AWS Elastic Beanstalk环境变量

从部署挂钩设置Elastic Beanstalk环境变量

AWS Elastic Beanstalk:如何在ebextensions中使用环境变量?

ASP.NET Core 1.0中的AWS Elastic Beanstalk环境变量

如何在部署时使用Elastic Beanstalk指定敏感的环境变量

Symfony3不读取Elastic Beanstalk上的环境变量

AWS Elastic Beanstalk 环境变量不会从配置文件更新

在Elastic Beanstalk SSH上运行Django命令->缺少环境变量

Elastic Beanstalk for AL2 中的环境变量在哪里?

更改 IAM 用户密钥时如何更新 Elastic Beanstalk 环境变量中的 AWS 凭证?

在Amazon Elastic Beanstalk上部署Django。LOGGING_INFO环境变量未设置

将环境变量添加到NodeJS Elastic Beanstalk时出错

Django部署到Elastic Beanstalk时看不到环境变量

未在Elastic Beanstalk中设置Django AWS RDS环境变量

在EB应用程序级别覆盖的AWS Elastic Beanstalk环境变量

Docker echo环境变量

docker复制问题并设置主机环境变量

使用Docker Stack部署主机环境变量

在 docker 环境中显示环境变量

Docker环境替换与环境变量替换

具有动态环境变量的Elastic Beanstalk app.config option_settings不起作用

dockerfile:从主机获取环境变量

在环境变量中设置额外的主机

如何获取远程主机的环境变量

从远程主机读取环境变量