【问题标题】:How to Pass AWS credentials to docker compose network in Codebuild如何在 Codebuild 中将 AWS 凭证传递给 docker compose 网络
【发布时间】:2019-12-29 18:17:02
【问题描述】:

我在 AWS CodeBuild 上运行 docker compose 网络,我需要将 AWS 凭证(AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY)传递给 docker 容器,因为它们需要与 AWS SSM 交互。从 CodeBuild 获取这些凭据并将其传递给 docker 容器的最佳方法是什么?

最初,我想将 CodeBuild 中的凭据目录作为一个卷安装,方法是将其添加到 docker-compose.yml 文件中的每个服务中

volumes:
      - '${HOME}/.aws/credentials:/root/.aws/credentials'

但这不起作用,因为 CodeBuild 环境中的 ${HOME}/.aws/ 文件夹中似乎没有任何凭据

【问题讨论】:

    标签: amazon-web-services docker-compose aws-codebuild


    【解决方案1】:

    使用 Docker 秘密,您可以创建自己的秘密:

    docker secret create credentials.cnf credentials.cnf
    

    在 credentials.cnf 文件中定义您的密钥,并将其包含在您的撰写文件中,如下所示:

    services:
       example:
           image:
           environment:
           secrets:
                - credentials.cnf
    
    
    secrets:
      - AWS_KEY:
        file: credentials.cnf
      - AWS_SECRET:
        file: credentials.cnf
    

    你可以通过docker secrets ls查看你的秘密

    【讨论】:

      【解决方案2】:

      在 CodeBuild 项目的环境部分,您可以选择根据 Parameter Store 中存储的值设置环境变量。

      【讨论】:

        猜你喜欢
        • 2021-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-27
        • 2014-11-12
        • 1970-01-01
        • 1970-01-01
        • 2022-11-25
        相关资源
        最近更新 更多