13.5. 访问内部 registry


您可以直接访问 OpenShift Container Platform 的内部 registry 来推送或拉取镜像。例如,如果您想 通过手动推送镜像来创建镜像流,或者只是直接进行 docker pull,则这很有用。

内部 registry 使用与 OpenShift Container Platform API 相同的令牌进行身份验证。要针对内部 registry 执行 docker 登录,您可以选择任何用户名和密码,但密码必须是有效的 OpenShift Container Platform 令牌。

登录到内部 registry:

  1. 登录到 OpenShift Container Platform:

    $ oc login
  2. 获取您的访问令牌:

    $ oc whoami -t
  3. 使用该令牌登录到内部 registry。在您的系统中必须安装 docker

    $ docker login -u <user_name> -e <email_address> \
        -p <token_value> <registry_server>:<port>
    注意

    如果您不知道要使用的 registry IP 或主机名和端口,请联络您的集群管理员。

若要拉取镜像,经过身份验证的用户必须具有所请求的 imagestreams/layersget 权限。若要推送镜像,经过身份验证的用户必须具有所请求的 imagestreams/layersupdate 权限。

默认情况下,一个项目中的所有服务帐户都有权拉取同一项目中的任何镜像,而 builder 服务帐户则有权在同一项目中推送任何镜像。

13.5.1. 列出软件仓库

/v2/_catalog 端点支持存储库列表或镜像流名称。

唯一的要求是经过身份验证的用户必须具有整个集群中 镜像流列表权限。

要为用户授予列出镜像流的权限,请运行:

$ oc adm policy add-cluster-role-to-user registry-viewer user

列出软件仓库:

$ oc login -u user
$ curl -v -u unused:$(oc whoami -t) https://<registry_server>:<port>/v2/_catalog?n=100
重要

对于集群中的大量镜像流,这个 API 调用非常昂贵。建议您使用分页而不是列出所有镜像流。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.