©
本文档使用 PHP中文网手册 发布
您的自动化系统拉取或构建图像也可以信任。DOCKER_CONTENT_TRUST
在处理图像之前,任何自动化环境都必须手动设置或以脚本方式设置。
要允许工具打包docker并推送可信内容,有两个环境变量允许您提供没有期望脚本的密码短语,或者输入它们:
DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE
DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE
Docker尝试将这些环境变量的内容用作密钥的密码。例如,图像发布者可以导出存储库target
和snapshot
密码短语:
$ export DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE="u7pEQcGoebUHm6LHe6"$ export DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE="l7pEQcTKJjUHm6Lpe4"
然后,在推送新标签时,Docker客户端不会请求这些值,而是自动标记:
$ docker push docker/trusttest:latest The push refers to a repository [docker.io/docker/trusttest] (len: 1)a9539b34a6ab: Image already exists b3dbab3810fc: Image already exists latest: digest: sha256:d149ab53f871 size: 3355Signing and pushing trust metadata
直接使用公证客户端时,它将使用自己的一组环境变量。
您也可以使用内容信任进行构建。在运行docker build
命令之前,您应该DOCKER_CONTENT_TRUST
手动或以脚本方式设置环境变量。考虑下面的简单Dockerfile。
FROM docker/trusttest:latest RUN echo
FROM
标签被拉动签署图像。您无法构建具有FROM
本地或未签署的图像。鉴于标记存在内容信任数据latest
,以下构建应该成功:
$ docker build -t docker/trusttest:testing .Using default tag: latest latest: Pulling from docker/trusttest b3dbab3810fc: Pull complete a9539b34a6ab: Pull complete Digest: sha256:d149ab53f871
如果启用了内容信任,则从依赖于标记而没有信任数据的Dockerfile构建,会导致构建命令失败:
$ docker build -t docker/trusttest:testing .unable to process Dockerfile: No trust data for notrust
Docker中的内容信任
管理内容信任的密钥
内容信任代表团
在内容信任沙箱中播放
信任,安全,docker,文档,自动化