向 Docker 应用程序提供 SSL 证书(用于 HTTPS)的最安全方法是什么?
我考虑过的方法:
环境
对 Docker 应用程序使用12factor方法很常见(但显然不是必需的),这会建议环境变量,这被认为是安全的,但证书链对于环境变量可能有点长且笨拙(并不是说这是一个完整的交易破坏者)。
私人形象
我还可以创建一个自定义的私有 Docker 映像,但如果我没有使用私有 Docker 存储库(而且我没有——我目前正在使用 Docker Hub),这意味着我至少信任另一方秘密。如果我使用自动构建,那也意味着信任另一方(即 GitHub)。
已安装的卷
与传递必须处理的长环境变量相比,这似乎不那么笨拙。但到目前为止,我根本不需要本地卷,如果这是需要我使用的一件事,这似乎有点不幸。但也许这就是为安全付出的代价?
从安全的角度来看,最好的选择是什么?还是我没有考虑过这些方法的优缺点?
作为参考,我当前的 Docker 映像托管在 Docker Hub 上,由 GitHub 自动构建创建,容器在 Tutum 上运行。我的 Docker Hub 和 GitHub 存储库目前是私有的,但我希望稍后在项目成熟一点时将它们公开。尽管我希望得到一个足够通用的答案,以便比在此特定设置中更广泛地应用。