docker无需蜂群就能创造秘密
我不想在swarm中使用docker机密,我发现这是可能的。 基本上docker只是在docker容器中挂载/run/secrets,但是当我进入新构建的docker容器并执行docker无需蜂群就能创造秘密,docker,docker-compose,docker-secrets,Docker,Docker Compose,Docker Secrets,我不想在swarm中使用docker机密,我发现这是可能的。 基本上docker只是在docker容器中挂载/run/secrets,但是当我进入新构建的docker容器并执行echo$POSTGRES\u PASSWORD\u文件时,我得到了我的secret文件的路径 root@94a0f092eeb1:/# echo $POSTGRES_PASSWORD_FILE /run/secrets/db_password 这是我的docker compose.yml文件 version: '3.1
echo$POSTGRES\u PASSWORD\u文件
时,我得到了我的secret文件的路径
root@94a0f092eeb1:/# echo $POSTGRES_PASSWORD_FILE
/run/secrets/db_password
这是我的docker compose.yml
文件
version: '3.1'
services:
postgres:
image: postgres:9.4
container_name: postgres
environment:
POSTGRES_USER: "db_user"
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
POSTGRES_DB: "my_db"
secrets:
- db_password
volumes:
- ./postgres:/var/lib/postgresql/data
expose:
- 5432
secrets:
db_password:
file: ./POSTGRES_PASSWORD.txt
我的密码设置是否正确/我的文件是否有问题 好的,所以我所要做的就是移除
volumes:
- ./postgres:/var/lib/postgresql/data
我会想办法解决这个问题,但基本上我回答了我自己的问题
下面是一个不使用docker swarm的带有机密的docker compose.yml
文件的工作示例:
version: '3.1'
services:
postgres:
image: postgres:9.4
container_name: postgres
environment:
POSTGRES_USER: "db_user"
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
POSTGRES_DB: "my_db"
secrets:
- db_password
ports:
- "8888:5432"
secrets:
db_password:
file: ./POSTGRES_PASSWORD
@StackOverflow:从安全角度看,不太安全。我只是想知道,如果没有docker swarmit,是否可以完成所有这一切,这也意味着你现在可以在git回购中推送docker-compose.yml,而无需在itI中输入密码。我对这个概念很感兴趣。似乎可以通过.gitignore中的
.env
文件来实现这一点。更有趣的问题是如何与您的团队共享这些机密。在我所经历的所有示例中,从未找到多个机密密钥-值对的机密文件示例。在一个秘密文件中有可能包含多个参数吗?您好!不确定,这里有什么问题?您对“echo$POSTGRES\u密码\u文件”有何期待?