gpt4 book ai didi

Docker secret 作为环境变量传递

转载 作者:行者123 更新时间:2023-12-02 18:21:08 25 4
gpt4 key购买 nike

我将 docker 置于群模式并执行以下操作

echo "'admin'" | docker secret create password -
docker service create \
--network="host" \
--secret source=password,target=password \
-e PASSWORD='/run/secrets/password' \
<image>

我无法通过 docker 服务传递通过环境变量创建的密码 secret 。

请帮我找出我哪里出错了

问候
萨蒂扬维什

最佳答案

您误解了 docker secret 的概念。
创建 secret 的重点是避免将敏感信息放入环境变量中。

在您的示例中, PASSWORD 环境变量将简单地携带值 /run/secrets/password ,它是一个文件名,而不是密码 admin

docker secrets 的一个有效用法是,您的 docker-image 从该文件中读取密码。
查看文档 here 尤其是关于 MySQL 的示例:

the environment variables MYSQL_PASSWORD_FILE and MYSQL_ROOT_PASSWORD_FILE to point to the files /run/secrets/mysql_password and /run/secrets/mysql_root_password. The mysql image reads the password strings from those files when initializing the system database for the first time.



简而言之:您的 docker 镜像应该读取文件 /run/secrets/password 的内容

关于Docker secret 作为环境变量传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52492359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com