如何维护Dockerfile中使用的机密?

ove*_*nge 6 docker docker-compose aws-parameter-store aws-secrets-manager

以下是具有密码的docker-compose文件的片段:

test:
  build: ../../
  dockerfile: docker/dev/Dockerfile
  volumes_from:
    - cache
  links:
    - db
  environment:
    DJANGO_SETTINGS_MODULE: todobackend.settings.test
    MYSQL_HOST: db
    MYSQL_USER: root
    MYSQL_PASSWORD: password
    TEST_OUTPUT_DIR: /reports

db:
  image: mysql:5.6
  hostname: db
  expose:
    - "3386"
  environment:
    MYSQL_ROOT_PASSWORD: password
Run Code Online (Sandbox Code Playgroud)

在AWS环境中运行此文件,

可以在s3中使用KMS存储,另一种方法是AWS参数存储

在构建dockerfile并使用启动容器时docker-compose,如何安全地维护秘密,而又不将其公开给文本文件?任何代码段...

Joe*_*oeB 2

您可以使用 ECS 和 Secrets Manager 之间的集成,将对 Secrets Manager 中存储的密钥的引用放入 ECS 任务定义中,然后将它们作为环境变量引用。ECS文档提供了一个关于此的简短教程(还有更详细的博客文章)。