将环境variables提供给弹性beanstalk docker部署
我有一个Dockerfile,通过使用用户访问令牌从github中获取私人回购:
ARG DEPLOYMENT_TOKEN RUN git clone https://$DEPLOYMENT_TOKEN:x-oauth-basic@github.com/company-org/api.git /tmpapp/
现在当我在弹性beanstalk中创build一个新的应用程序和环境时,如何在第一次尝试构buildDocker镜像和部署时如何提供具有该访问令牌的弹性beanstalk?
这可以传递给eb cli命令eb创build?
eb create --envvars DEPLOYMENT_TOKEN=$DEPLOYMENT_TOKEN
那么当应用程序尝试创build环境并进行部署时,它将包含环境variables,以便在构build泊坞窗图像时能够从私人回购站点获取该环境variables?
我知道eb setenv允许你在成功部署后设置一个环境variables,但是我想为docker构build过程做这个。
我不想通过使用容器描述中的环境密钥将访问令牌放在Dockerrun文件中。
{ "containerDefinitions": [ { "name": "myContainer", "image": "something", "environment": [ { "name": "MY_DB_PASSWORD", "value": "password" } ],
因为这意味着任何人都可以获得信息,无论如何,我甚至不确定这些信息是否可行。
我也考虑过了,现在正在研究这个问题。
AWS有一篇关于这方面的文章:
微服务服务发现
我发现了更多可能对configuration服务发现感兴趣的资源。
- 使用S3 。
- 在ECS中使用领事 。
- 尽pipe这篇文章描述了一个容器使用Consul进行DNS查询来发现其他服务的方法 – 您也可以使用Consul作为K / V商店来存储机密信息。
- Elastic Beanstalk CLI – 不replace部署上的实例
- 在Elastic Beanstalk上强制HTTPS单容器泊坞窗应用程序
- Docker在AWS Elastic Beanstalk上的Docker
- AWS EB,Play框架和Docker:应用程序已经运行
- 如何在Elastic Beanstalk中增加Docker中的ulimit?
- 在Elastic Beanstalk上部署Docker环境
- 使用Single容器configuration向Dockerrun.aws.json添加portMappings
- Amazon CloudWatch的Elastic Beanstalk Docker
- Docker在Multicontainer Elastic Beanstalk中编写env_file