【发布时间】:2020-02-14 13:58:32
【问题描述】:
下面是带有密码的docker-compose文件的sn-p:
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 参数存储
在使用docker-compose 构建 dockerfile 和启动容器时,如何安全地维护秘密,而不将其暴露给文本文件?任何代码 sn-p...
【问题讨论】:
-
您可以将文本文件保存到存储桶中。然后每次运行 docker 时,它都会下载文件,将秘密设置为 env 变量并删除文件。但我会赞成这个问题,因为我不知道把秘密放在哪里!
-
@daudnadeem 可以分享一下代码 sn-p 吗?
-
AWS 中有一种叫做参数存储的东西...
-
我没有sn-p代码,需要自己写。但是在伪代码(python)中。 1. 下载文件(使用 Boto3 库) 2. 读取文件
with open (/file)3. os.environ[mysq] = 密码 4. os.remove(/file) 我可以为你写,但它实际上是非常简单的代码。 -
如果您将上述内容保存为 python 脚本。在你的 Dockerfile 中总是将
RUN my_script.py作为倒数第二个命令。
标签: docker docker-compose aws-secrets-manager aws-parameter-store