找不到docker secrets'文件夹('/ run / secrets')

问题描述 投票:0回答:2

我和https://labs.play-with-docker.com/一起玩。

我选择了3 Managers and 2 Workers的模板: enter image description here

我去了manager1并创造了一个秘密:

echo "mydatabasepassword" | docker secret create db_pass -

我检查过,秘密存在: enter image description here

我想查看secrets文件夹,但它不存在: enter image description here

我也尝试过这样: enter image description here有什么想法可以吗?

按照Bret Fisher的回答,这是一个例子: enter image description here

*我只能从经理领导那里得到容器的名称。

docker docker-swarm docker-secrets
2个回答
3
投票

秘密存储在加密的raft db中的管理器主机上,因此您无法从主机查看它们。要在容器中查看它们,您需要在docker service create上分配它们,因此:

docker service create --secret=db_pass --name example nginx

然后从分配容器的节点中,您可以看到容器中的文本文件(容器名称将不同):

docker exec example.1.m1c4bvubej64xc1csclnq7y3r cat /run/secrets/db_pass

1
投票

根据docs

当您授予对秘密的新创建或正在运行的服务访问权限时,解密的秘密将被装入内存文件系统的容器中。容器中挂载点的位置默认为Linux容器中的/ run / secrets /

秘密存储在swarm的加密Raft日志中。

(要了解有关加密Raft日志的更多信息,请参阅here。)

© www.soinside.com 2019 - 2024. All rights reserved.