云客户?
免费开始>
在MyJFrog >中升级
云有什么新>





概述

Notary是Docker的平台,通过对发布的图像进行签名来提供可信的内容交付。然后,内容发布者可以提供相应的签名密钥,允许用户在使用该内容时验证该内容。Artifactory完全支持与Docker Notary合作,以确保上传到Artifactory的Docker图像可以签名,然后在下载使用时进行验证。当Docker客户端被配置为与Docker Notary一起工作时,在将图像推送到Artifactory后,客户端通知Notary在分配标签之前对图像进行签名。

Artifactory支持托管签名映像,不需要任何额外配置。

页面内容



配置Docker公证人和Docker客户端

为了使用可信的Docker映像,在Artifactory中不需要配置。但是,在下面的设置说明中,我们建议通过签名Artifactory并在容器中运行它来测试您的配置。

为了配置Docker公证人和客户端与Artifactory一起工作,执行以下主要步骤:

配置Hosts文件

如果您没有使用DNS,请将以下条目添加到您的设置文件:

sudo sh -c 'echo "<主机IP> <公证服务器名称>" >> /etc/hosts' sudo sh -c 'echo "<主机IP> " >> /etc/hosts' '

配置公证服务器

为您的公证服务器创建一个目录。在下面的代码片段中,我们将使用notarybox

创建一个dockerfile,内容如下:

FROM debian:jessie ADD https://get.docker.com/builds/Linux/x86_64/docker-1.9.1 /usr/bin/docker RUN chmod +x /usr/bin/docker \ && apt-get update \ && apt-get install -y \ tree \ vim \ git \ ca-certificates \——no-install-recommends WORKDIR /root运行git克隆https://github.com/docker/notary.git && \ cp /root/根/notary/fixtures/root-ca。crt /usr/local/share/ca-certificates /根ca。crt && \ update-ca-certificates ENTRYPOINT ["bash"]

使用私有证书

此配置与公共证书一起运行。任何使用相同公共证书运行的Docker客户端都可以访问您的公证服务器。

对于安全的设置,我们建议将其替换为您组织的私有证书r取代公众root-ca.crt证书文件下面有您的私人证书/root/notary/fixtures在你的公证员服务器上/usr/local/share/ca-certificates在运行Docker客户端的机器上。


构建测试映像:

Docker build -t[镜像名称][dockerfile路径]

如果你在dockerfile目录下运行构建,你可以使用“。”作为Docker文件的路径。

启动公证员服务器:

要启动公证员服务器,首先需要码头工人组成安装。

然后执行以下步骤:

CD公证盒git clone -b trust-sandbox https://github.com/docker/notary.git CD公证docker-compose build docker-compose up -d

配置Docker客户端

要将公证服务器连接到Docker客户端,您需要启用Docker内容信任标志,并按以下方式添加公证服务器URL:

export DOCKER_CONTENT_TRUST=1 export DOCKER_CONTENT_TRUST_SERVER=https://notaryserver:4443

测试你的设置

下面的例子演示了如何设置公证服务器和Docker客户端,签名图像并将其推送到Artifactory,假设如下:

  • Artifactory在Docker容器中启动并运行
  • 你有配置公证服务器
  • 公证服务器和Artifactory在本地主机上运行(127.0.0.1
  • 公证服务器在目录中notarybox
  • 在没有DNS的情况下工作(因此我们需要配置主机文件)
  • 公证员名称为notaryserver
  • Artifactory服务器名称为artifactory-registry
  • 安装Docker Compose。

设置IP映射

Sudo sh -c 'echo ' 127.0.0.1 artifactory-registry ' >> /etc/hosts'

提取图像进行测试

Docker pull Docker /trusttest

在拉出图像之后,您需要码头工人登录artifactory-registry: 5002 / v2

配置Docker客户端

export DOCKER_CONTENT_TRUST=1 export DOCKER_CONTENT_TRUST_SERVER=https://notaryserver:4443

标记您为测试所拉的图像并将其推到Artifactory

Docker标签Docker /trusttest artifactory-registry:5002/test/trusttest:最新的Docker推送artifactory-registry:5002/test/trusttest:最新的Docker

您将被要求输入根密钥密码。这将需要每次您推送一个新的图像,而DOCKER_CONTENT_TRUST设置标志。

根密钥在以下位置生成:/root/.docker/trust/private/root_keys

您还将被要求为图像输入一个新的密码。这是在/root/.码头工人/trust/private/tuf_keys/[registry name] /[imagepath]

Docker映像在它之后被签名推送到Artifactory

版权所有©2022 JFrog Ltd.