我正在尝试使用 docker 容器。更准确地说,我使用docker-compose
。我需要将变量传递给我的容器并使用一个.env
文件。虽然这可行,但它让我怀疑它有多安全。我的意思是每个脚本语言都可以访问env
,因此运行应用程序中的任何黑客都可能暴露存储在环境中的敏感数据。我想存储像数据库密码这样的数据。
受 的启发salt
,我正在寻找一种方法,在构建容器之前将变量安全地传递到应用程序模板中,而不是将它们传递到env
容器中。如何实现这一点?
答案1
答案2
现在你可能使用 docker-compose.yml 并插入 secrets 部分
docker-compose.yml
version: "3.6"
services:
my_service:
image: ubuntu:latest
entrypoint: "wc -c /run/secrets/my_secret"
secrets:
- my_secret
secrets:
my_secret:
file: ./password.txt
答案3
Hashicorp Vault 就是您要找的工具。将不敏感数据存储在 .env 中,对于机密则使用 Vault。