【发布时间】:2017-04-13 20:15:47
【问题描述】:
我有一个 nginx 在 docker 容器中运行。在 server 块内的 nginx conf 文件中,我放入了 ssl 配置——端口、crt 和密钥。 nginx 查找 crt 和 key 文件的最简单方法是我为这两个文件创建一个 docker secret,并在服务生成时将其挂载到 /run/secrets/。但是,我希望在 docker 映像中有 crt 和 key 文件,它们可以像 nginx 可以使用的开箱即用文件一样,如果客户创建一个秘密,并插入 crt 和 key 文件,我希望 nginx 使用那些.
通过 3.1 compose file docs for secret,我意识到,要么秘密必须预先存在,要么必须作为 compose 文件的一部分创建。现在的挑战是,如果它必须预先存在,那么我将强制客户创建一个秘密(这意味着不仅要创建一个秘密,而且还要准备好 crt 和密钥文件作为 create secret 命令的输入)。如果我在撰写文件中创建它,我仍然需要访问客户必须提供的 crt 和密钥文件。这意味着,在任何一种情况下,这个东西都不能开箱即用。
我该如何解决这个问题?
如果有人读了这么多,仍然没有失去兴趣,即使上面得到了解决,我面临的另一个问题是在 nginx conf 中,我不能按优先级顺序指定 2 个证书来选择它们在同一个服务器块下。有人对此也有任何想法吗?
【问题讨论】:
标签: docker-compose docker-swarm docker-secrets