是否可以让 Docker Compose 从 AWS Secrets Manager 读取数据?

KSS*_*KSS 5 bash docker docker-compose aws-secrets-manager

我目前有一个 bash 脚本,它通过启动 3 个容器来“模拟”ECS 任务。一些容器直接从 Secrets Manager 中提取其机密和配置覆盖(例如,它被烘焙到容器代码中),而其他容器则具有使用 Docker 环境变量完成的配置覆盖,这需要首先从 ASM 检索机密,导出到变量,然后使用刚刚导出的环境变量启动容器。这工作得很好,而且这只是为了让开发人员在他们的工作站上进行本地测试。我们不使用 Docker-Compose 进行部署。当前的 bash 脚本调用 AWS 并将值导出到环境变量。

不过,我想继续使用 Docker Compose。我的问题是“Docker Compose 有没有办法调用 AWS 并获取秘密?”

我没有看到使用 Docker Compose 执行此操作的本机方法,因此我正在考虑出去获取所有容器的所有秘密。因此,我当前的脚本将被修改以执行此操作:

  1. Bash 脚本将获取所有秘密并将这些值导出到环境变量中。
  2. 然后,该脚本将调用 Docker-compose yaml 并引用上面步骤 1 中创建的导出变量。

如果我根本不必使用 bash 脚本,那就太好了,但我知道没有任何内在方法可以从 Docker-Compose yaml 中的 Secrets Manager 中提取机密。这可能吗?