This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.6.8. 从私有容器镜像仓库(registry)导入镜像和镜像流
镜像流可以被配置为从需要身份验证的私有镜像仓库中导入标签和镜像元数据。如果您将 Cluster Samples Operator 用来拉取内容的位置改为 registry.redhat.io 以外的位置,则适用这个过程。
从不安全或安全容器镜像仓库导入时,secret 中定义的容器镜像仓库 URL 必须包含 :80
端口后缀,或在尝试从容器仓库仓库导入时不使用 secret。
流程
您必须通过输入以下命令来创建一个用于存储凭证的
secret
对象:oc create secret generic <secret_name> --from-file=.dockerconfigjson=<file_absolute_path> --type=kubernetes.io/dockerconfigjson
$ oc create secret generic <secret_name> --from-file=.dockerconfigjson=<file_absolute_path> --type=kubernetes.io/dockerconfigjson
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 secret 后,请创建新镜像流或输入
oc import-image
命令:oc import-image <imagestreamtag> --from=<image> --confirm
$ oc import-image <imagestreamtag> --from=<image> --confirm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在导入过程中,OpenShift Container Platform 会提取 secret,并将其提供给远程方。
6.8.1. 允许 Pod 引用其他安全 registry 中的镜像 复制链接链接已复制到粘贴板!
Docker 客户端的 .dockercfg
$HOME/.docker/config.json
文件是一个 Docker 凭证文件,如果您之前已登录安全或不安全的 registry,则该文件会保存您的身份验证信息。
要从 OpenShift 镜像 registry 中拉取没有安全的容器镜像,您必须从 Docker 凭证创建一个 pull secret,并将其添加到您的服务帐户中。
Docker 凭据文件和相关 pull secret 可以包含对同一 registry 的多个引用,每个 registry 都有自己的一组凭证。
config.json
文件示例
pull secret 示例
流程
如果您已有该安全 registry 的
.dockercfg
文件,则可运行以下命令从该文件中创建一个 secret:oc create secret generic <pull_secret_name> \ --from-file=.dockercfg=<path/to/.dockercfg> \ --type=kubernetes.io/dockercfg
$ oc create secret generic <pull_secret_name> \ --from-file=.dockercfg=<path/to/.dockercfg> \ --type=kubernetes.io/dockercfg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,如果您已有
$HOME/.docker/config.json
文件,则可运行以下命令:oc create secret generic <pull_secret_name> \ --from-file=.dockerconfigjson=<path/to/.docker/config.json> \ --type=kubernetes.io/dockerconfigjson
$ oc create secret generic <pull_secret_name> \ --from-file=.dockerconfigjson=<path/to/.docker/config.json> \ --type=kubernetes.io/dockerconfigjson
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您还没有安全 registry 的 Docker 凭证文件,则可运行以下命令创建一个 secret:
oc create secret docker-registry <pull_secret_name> \ --docker-server=<registry_server> \ --docker-username=<user_name> \ --docker-password=<password> \ --docker-email=<email>
$ oc create secret docker-registry <pull_secret_name> \ --docker-server=<registry_server> \ --docker-username=<user_name> \ --docker-password=<password> \ --docker-email=<email>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用 secret 为 Pod 拉取镜像,您必须将 secret 添加到您的服务帐户中。本例中服务帐户的名称应与 Pod 使用的服务帐户的名称匹配。默认服务帐户是
default
:oc secrets link default <pull_secret_name> --for=pull
$ oc secrets link default <pull_secret_name> --for=pull
Copy to Clipboard Copied! Toggle word wrap Toggle overflow