如何将密码从docker- composer .yml中移除



我想使用docker-compose构建的一些Docker映像需要在那里指定密码。但我不想把密码存储在如此公开的文件中。我现在面临的两个案例是Redis和Graylog。

version: '3.7'
services:
redis:
image: redis:6.0.10-alpine
command: redis-server --requirepass PASSWORD --appendonly yes
restart: always
ports:
- 6379:6379
graylog:
image: graylog/graylog:4.0
environment:
- GRAYLOG_PASSWORD_SECRET=somepasswordpepper
# Password: admin
- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
- GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
links:
- mongo
- elasticsearch
restart: always
depends_on:
- mongo
- elasticsearch
ports:
- 9000:9000
- 12201:12201

我如何安全地存储这些敏感数据并在docker-compose.yml文件中使用它?通过环境变量还是在单独的文件中?

我推荐以下方法:

1)。使用env_file:

将敏感环境设置外部化
graylog:
image: graylog/graylog:4.0
env_file:
- ./graylog.secrets.env

2)。在将秘密文件签入源存储库之前,使用SOPS之类的工具加密它们。

相关内容

  • 没有找到相关文章

最新更新