繁体   English   中英

为弹性beanstalk docker部署提供环境变量

[英]Provide environment variables to elastic beanstalk docker deployment

我有一个Dockerfile,通过使用用户访问令牌从github提取私人仓库:

ARG DEPLOYMENT_TOKEN
RUN git clone https://$DEPLOYMENT_TOKEN:x-oauth-basic@github.com/company-org/api.git /tmpapp/

现在,当我创建一个新的应用程序和弹性beanstalk环境时,如何在首次尝试构建docker镜像并部署时为该访问令牌提供弹性beanstalk?

这可以传递给eb cli命令eb create吗?

eb create --envvars DEPLOYMENT_TOKEN=$DEPLOYMENT_TOKEN

然后,当应用程序尝试创建环境并进行部署时,它将包含环境变量,以便在构建docker镜像时能够从私有仓库中提取?

我知道eb setenv允许您在成功部署后设置环境变量,但我想为docker构建过程执行此操作。

我不想通过在容器描述中使用环境密钥将访问令牌放在Dockerrun文件中。

{
  "containerDefinitions": [
    {
      "name": "myContainer",
      "image": "something",
      "environment": [
        {
          "name": "MY_DB_PASSWORD",
          "value": "password"
        }
      ],

因为这意味着任何人都可以获得信息,无论如何我甚至不确定这些信息是否有效。

我也考虑过.ebextensions,现在正在调查。

AWS有一篇文章:

微服务服务发现

我发现了一些可能对配置Service Discovery感兴趣的资源。

  1. 使用S3
  2. 在ECS中使用Consul
    1. 虽然这篇文章描述了容器使用Consul进行DNS查询以发现其他服务的方法 - 您也可以使用Consul作为K / V存储来存储秘密信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM