【问题标题】:ECS with Docker Compose environment variables带有 Docker Compose 环境变量的 ECS
【发布时间】:2022-01-11 17:08:20
【问题描述】:

我正在使用 Docker Compose API 部署到 ECS,但是,我对环境变量有点困惑。

现在我的docker-compose.yml 看起来像这样:

version: "3.8"

services:
  simple-http:
    image: "${IMAGE}"
    secrets:
      - message

secrets:
  message:
    name: "arn:aws:ssm:<AWS_REGION>:<AWS_ACCOUNT_ID>:parameter/test-env"
    external: true

现在在我的容器定义中,我得到一个 Simplehttp_Secrets_InitContainer,它将此环境变量引用为 message 并具有正确的 ARN,但我正在运行的容器中没有名为 message 的变量。

我有点困惑,因为我认为这是传递 env 的正确方法,例如 DB 密码、AWS 凭证等。

在我们看到的文档中:

services:
  test:
    image: "image"
    environment:
      - "FOO=BAR"

但这是正确且安全的方法吗?我错过了什么吗?

【问题讨论】:

    标签: amazon-web-services docker docker-compose amazon-ecs docker-secrets


    【解决方案1】:

    在这个 ECS/Docker 集成中,我对秘密的了解不多,但是在您的理解和 the docs 之间,有几件事没有加起来。首先,集成似乎适用于Secrets Manager 而不是SSM。其次,根据文档,内容不会作为变量提供,而是在运行时作为 /run/secrets/message 的平面文件(在您的示例中)。

    查看此页面了解详细信息:https://docs.docker.com/cloud/ecs-integration/#secrets

    【讨论】:

      猜你喜欢
      • 2015-06-17
      • 2023-02-20
      • 2019-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-01
      • 2018-02-03
      • 2019-02-25
      相关资源
      最近更新 更多