gpt4 book ai didi

docker - 确定 Docker 镜像是已签名还是未签名

转载 作者:行者123 更新时间:2023-12-01 14:47:10 25 4
gpt4 key购买 nike

我通读了 Docker Content Trust 的文档,对以下场景提出了一些问题。我在没有启用 DCT 的情况下启动 docker 并部署了一些图像。然后我决定启用DCT,这样我就只能继续部署签名镜像了。已经部署的未签名的会发生什么?他们会继续运行吗?

我能否以某种方式确定(在容器中的应用程序内部和主机中)正在运行的图像是签名的还是未签名的?

这是 DCT 的文档

最佳答案

What will happen to the unsigned ones that have already been deployed? Will they just continue running?

如果您在禁用 docker content trust 的情况下拉取图像,然后打开 docker content trust,则现有图像/容器不会发生任何事情。

内容信任操作 100% 是 docker 客户端实现。守护进程并不真正知道也不关心图像是否已签名。

如果您启用了 docker content trust,并进行拉取、创建或运行,客户端将查找信任数据并找到已签名图像的 sha256 摘要。然后守护进程被告知它正在执行该摘要的拉取/创建/运行。

Can I somehow determine (being inside the application in the container and from host) if the image running is signed or unsigned?

一般来说,从容器内部看,很少有暴露的。您不能返回图像名称、容器名称,甚至不能返回已发布的端口。即使可以,守护进程也无法识别图像签名,并且只知道它被告知要运行特定的摘要。

在主机上,您可以确定正在运行的容器是否正在使用签名图像,但它不会简单地列在“docker images”或“docker ps”中。您必须将图像与信任数据进行比较。据我所知,没有预制的 UI 组件可以为您执行此操作。

要记住的一件事是可以更新签名。假设我正在运行 ubuntu:14.04,这是一个签名镜像。我的容器已启动并正在运行,一切都很好。 ubuntu:14.04 镜像迟早会更新,新的信任数据将与镜像更新一起发布。现在,我的容器有一个过时的图像。下次我去执行 docker pull/create/run 时,将获得更新的信任数据,我将获得更新的图像。 DCT 保证的部分内容是新鲜度。

关于docker - 确定 Docker 镜像是已签名还是未签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40703278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com