【问题标题】:Using secrets with docker swarm and a compose file在 docker swarm 和 compose 文件中使用秘密
【发布时间】:2021-09-01 12:59:00
【问题描述】:

如果我理解正确,为了正确使用机密I need to use docker swarm

一旦我执行了“docker swarm init”,搬运工注意到了其中的不同,并将所有东西都放回了 swarm 中:正在运行的容器、现有的堆栈等。 但是,在将秘密添加到 portainer 现在可用的秘密部分后,我尝试设置的堆栈找不到相应的秘密。

这是撰写的:https://pastebin.com/H1wnBLjy

这是秘密页面:

如果我尝试在容器中运行 ls /run/secrets/ 我会收到此错误:

Error response from daemon: Container xxx is restarting, wait until the container is running

日志不断重复:

Loading configuration from /wiki/config.yml... OK
DB_PASS_FILE is defined. Will use secret from file.
Failed to read Docker Secret File using path defined in DB_PASS_FILE env variable!
ENOENT: no such file or directory, open '/run/secrets/db_passwd'

我尝试删除容器然后重新设置它们,重新启动它们,到目前为止没有任何效果。

关于信息,它在 Swarm 20.10.7 和 portainer 2.6.3 上运行,在 debian buster 主机上。

我做错了什么?

感谢您的帮助。

【问题讨论】:

    标签: docker docker-compose docker-swarm portainer


    【解决方案1】:

    我的错,如果一个环境变量没有明确定义,它就不能被使用。 我认为将 _FILE 添加到任何 env 足以让它理解它将通过文件传递,但我了解到事实并非如此。 所以一般来说秘密是可用的,但如果没有在图像中定义,那就不行了。

    【讨论】:

      猜你喜欢
      • 2022-12-12
      • 2020-02-04
      • 2021-01-21
      • 1970-01-01
      • 2019-01-09
      • 1970-01-01
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多