如何在Docker容器之间共享dynamic生成的秘密

我已经将两个使用其他API端点的Docker容器链接在一起。 这些API端点受秘密保护,并在容器启动时生成 。 我正在寻找一种安全的方式来分享这些服务之间的秘密而不做任何事情(如硬编码)。 这些服务是使用docker-compose创build和链接在一起的,并且可以使用环境variables覆盖该秘密。 但是,这种行为不鼓励生产。

在我的情况下,分发这些秘密的最安全的方法是什么?


我考虑过的事情:

  • 使用将这些秘密存储为文件的中央数据容器。 客户端然后可以链接到这个容器并查找文件中的秘密。

这种方法的巨大缺点是它限制了容器在同一个节点上运行。

  • 在部署容器之前,用这些随机秘密生成一个docker-compose文件。

这种方法的缺点是,不可能简单地使用docker-compose文件,而是将自己限制在一个bash脚本中,以产生一些关键任务,如这些秘密。 这也不会坚持我的观点,即解决scheme应该dynamic适应秘密的变化。


边注

最终,如果解决scheme也可以dynamic适应秘密变化,我更喜欢它。 例如,当一个容器失败时,它将自动重启,从而也产生一个新的秘密。

Interesting Posts