如何在Docker镜像中处理阶段特定的密钥库

我有这样的情况,我有不同的证书encryption阶段 。 作为最佳实践,docker容器在阶段之间是不可变的,只能通过环境variables进行参数化。 这将允许使用阶段特定的密钥库密码,但不允许在图像中添加新的证书。

我想到了以下选项:

  • 阶段特定的docker图像/构build
  • 在容器启动时通过networking加载密钥库(提供url和密码作为环境variables)
  • docker数据卷上的密钥库。

任何人都有这种情况的经验,可以分享他的最佳做法? 谢谢!

在容器启动时通过networking加载密钥库(提供url和密码作为环境variables)

实际上,为了存储和访问机密(如密码),您可以使用hashicorp/vaultvaultproject.io )来设置专用容器。

您可以在第165 期中的Ben Hall (KataCoda的创build者)提到的KataCoda上有完整的教程 ,或者是sjourdan/docker-vault的例子。