ARTIFACTORY:如何代理私有谷歌容器注册表(GCR)?

依琳娜Floim
2023-01-22 11:09

Artifactory允许我们通过配置指向GCR端点的远程存储库来代理谷歌容器注册中心。谷歌提供https://gcr.io和https://eu.gcr.io端点,这两个端点都可以在Artifactory中根据需要的端点进行代理。

  1. 首先,在Artifactory中创建一个Docker远程存储库,并设置URL指向https://gcr.io(或https://eu.gcr.io,视需要而定)
  2. 在谷歌云平台UI中,导航到IAM & Admin→服务帐户→选择您的服务帐户→导航到所选帐户的“Keys”选项卡:

用户添加图片

点击“ADD KEY”,然后点击“Create a new KEY”,选择JSON。将下载的JSON文件保存在一个可访问的位置。

  1. 返回到Artifactory中的远程存储库配置页面,在“Advanced”选项卡下设置远程存储库的凭据,如下所示:

用户: _json_key

密码:密码将是先前下载的JSON文件的内容。复制文件的内容并粘贴到这里
用户添加图片

  1. 现在,可以使用创建的Docker远程存储库了。中提取busybox的公共图像公开可用的GCR存储库

用户添加图片

要查看拉命令,请单击列表中的图像名称(busybox),然后单击首选标签的3点菜单(在本例中是最新的)以复制完整的拉命令。

  1. 接下来,在复制的pull命令中,我们需要复制主机名(“gcr.io”)之后的部分,并用我们的Artifactory主机和悔恨存储库名称替换主机部分,以便使用Artifactory拉取映像。例如:

docker pull /google-remote/google-containers/busybox:最新的

  1. 成功拉取后,映像将在仓库的远程缓存下的Artifactory中可用:

用户添加图片

请注意,在gcr下提供的图像。IO端点,不一定在eu.gcr.io端点下可用。因此,在提取图像之前,请确保它存在于所需的端点中。

此外,要确保端点在GCP项目下是可访问的,并且用户有足够的权限直接从这些端点拉取。

用户添加图片