首页 > 解决方案 > 如何维护 Dockerfile 中使用的秘密?

问题描述

以下是具有密码的 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

在 AWS 环境中运行此文件,

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

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

标签: dockerdocker-composeaws-secrets-manageraws-parameter-store

解决方案


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


推荐阅读