在Docker中访问Elastic Beanstalk环境属性

所以我一直在寻找一个如何从AWS EB Web界面为我的Docker容器指定环境variables的例子。 通常在EB中,您可以添加在运行时可用的环境属性。 在我切换到Docker之前,我正在使用这些用于之前的部署,但似乎Docker在处理环境属性方面有一些不同的规则,是正确的吗? 根据这篇文章[1],只有AWS证书和PARAM1-PARAM5将出现在环境variables中,但是不存在自定义属性。 这就是我所听到的,特别是考虑到支持自定义环境属性的容器说明了它,就像Python在这里显示的那样[2]。 有没有人有这个软件组合的经验? 我需要指定的是一个单独的环境variables,告诉我应用程序是处于“暂存”模式还是“生产”模式,然后我的环境特定的configuration由应用程序自己设置。

[1] http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html#command-options-docker

[2] http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html#command-options-python

AWS Elastic Beanstalk Docker容器支持自定义环境variables。 在文档中看起来像一个小姐。 您可以为您的环境定义自定义环境variables,并期望它们将传递到泊坞窗容器。

Rohit Banga的回答暗示,我不认为这个文件是一个小姐。 以为我同意“ 您可以为您的环境定义自定义环境variables,并期望它们将被传递到docker集装箱 ”。

文档的Docker容器部分说:“ Elastic Beanstalk没有提供DOCKER-SPECIFICconfiguration选项 ”,这不一定意味着没有环境variables被传递给Docker容器。

例如, 对于Ruby容器 ,总是传递的Ruby特定的variables是… RAILS_SKIP_MIGRATIONS,RAILS_SKIP_ASSET_COMPILATION,BUNDLE_WITHOUT,RACK_ENV,RAILS_ENV。 等等。 对于Ruby容器,假定您正在运行一个Ruby应用程序,因此设置了一些合理的默认值,以确保它们始终可用。

另一方面,对于Docker容器,它似乎是开放的。 你指定你想要的任何variables……他们不会假设你正在运行什么,Rails(Ruby),Django(Python)等等,因为它可能是任何东西。 他们不知道你想要运行什么,这使得很难设置合理的默认值。