【发布时间】:2017-07-25 10:03:39
【问题描述】:
考虑以下docker-compose 文件:
version: "3"
services:
app:
build: src
environment:
POSTGRES_USER=app
POSTGRES_PASSWORD=mysecretpassword
[...]
db:
image: postgres
environment:
POSTGRES_USER=app
POSTGRES_PASSWORD=mysecretpassword
现在,我不想签入mysecretpassword(即使从理论上讲,攻击者永远不能访问该密码可以使用的任何东西,也不能访问我的源代码)。
我尝试过的一种方法是从启动 bash 脚本生成密码并设置环境变量,然后替换为上面的:
POSTGRES_PASSWORD=${MY_GENERATED_PASSWORD}
这可行,但缺点是我必须一直将 docker-compose 包装在自定义 bash 脚本中(我可能更喜欢也可能不喜欢这样做)。
这一定是一个普遍的问题,有没有更好的解决方案?理想情况下,我希望在 docker compose 中内置该功能以生成随机字符串以用作密码。
或者我应该放弃并检查密码吗? (我认为这是一种务实的方法,考虑到如果任何一个容器受到攻击,攻击面都是敞开的)
【问题讨论】:
标签: security passwords docker-compose