Docker Content Trust“离线”可能/合理吗?

时间:2018-08-06 19:13:44

标签: docker signing

我目前面临着对内部存储在Artifactory docker存储库中的内部创建的docker映像进行签名的任务。 我们有一个目标环境,当前(该环境)无法访问互联网,也无法访问内部Docker注册表。

到目前为止,我已经了解到,通过启用docker内容信任     导出DOCKER_CONTENT_TRUST = 1 在构建映像的机器上是强制性的。据我了解的文档,该过程是:

  1. 在构建客户端上启用docker内容信任
  2. 使用docker push将生成根密钥和目标密钥
  3. 将密钥存储在保存位置
  4. 将图像上传到人工图像

使用2.必须使用官方公证服务器来验证图像确实是由我们公司签名的吗?

我只是想知道我们当前的部署方案是否可以使用Docker内容信任:

  1. 将图像存储为myDockerImage.tar.gz(即docker save <IMAGE_NAME>
  2. 将tar.gz文件复制到目标计算机
  3. 使用docker load -i <FILENAME>.tar.gz将映像导入到目标计算机上的本地注册表中
  4. docker run(<如果图像未通过我们的密钥签名,则必须失败

    如前所述,目标计算机既无法访问我们的基础架构,也无法访问互联网。在这种“离线”情况下,建议使用docker内容信任吗?是否可以将密钥文件放在目标计算机上,而不用与公证服务器建立连接?

1 个答案:

答案 0 :(得分:0)

挖掘了一段时间后,我得出结论,即使用

shasum256 <FILE(S)> deployment-files.sha256
我最好的选择是

与签名结合使用,使用签名通过openssl签名 deployment-files.sha256