【问题标题】:How do you get access to environment variables via Elasticbeanstalk configuration files (using Docker)?如何通过 Elasticbeanstalk 配置文件(使用 Docker)访问环境变量?
【发布时间】:2014-12-31 17:27:49
【问题描述】:

例如,如果我想挂载一个由环境变量定义的特定卷。

【问题讨论】:

    标签: amazon-web-services docker amazon-elastic-beanstalk


    【解决方案1】:

    我最终使用了以下代码:

    ---
    files:
      "/opt/elasticbeanstalk/hooks/appdeploy/pre/02my_setup.sh":
        owner: root
        group: root
        mode: "000755"
        content: |
          #!/bin/bash
    
          set -e
    
          . /opt/elasticbeanstalk/hooks/common.sh
    
          EB_CONFIG_APP_CURRENT=$(/opt/elasticbeanstalk/bin/get-config container -k app_deploy_dir)
          EB_SUPPORT_FILES_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k support_files_dir)
    
          # load env vars
          eval $($EB_SUPPORT_FILES_DIR/generate_env | sed 's/$/;/')
    

    【讨论】:

      【解决方案2】:

      您可以在 bash 脚本中使用 /opt/elasticbeanstalk/bin/get-config environment

      例子:

      # .ebextensions/efs_mount.config
      
      commands:
      01_mount:
          command: "/tmp/mount-efs.sh"
      
      files:
      "/tmp/mount-efs.sh":
          mode: "000755"
          content : |
              #!/bin/bash
      
              EFS_REGION=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.EFS_REGION')
              EFS_MOUNT_DIR=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.EFS_MOUNT_DIR')
              EFS_VOLUME_ID=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.EFS_VOLUME_ID')
      

      【讨论】:

        猜你喜欢
        • 2019-08-03
        • 2021-04-23
        • 1970-01-01
        • 2019-08-02
        • 2020-01-24
        • 2013-11-13
        • 2021-05-26
        • 2020-06-23
        • 1970-01-01
        相关资源
        最近更新 更多