13.8. 传输镜像
要将镜像从一个容器镜像 registry 移动到另一个容器镜像 registry,请使用 oc image mirror
命令。镜像从 registry 流传输到 registry,而不存储在本地。
例如,要将镜像从 Docker Hub 复制到集成的 registry 中,请使用以下命令:
$ oc image mirror docker.io/library/busybox:latest 172.30.0.0/16/myproject/toybox:latest
重要
如果您在源或目标中使用 docker.io
,则无法省略 docker.io
和 library
部分。如果您想要获取 latest 标签,请不要省略 latest
。
镜像可以一次性复制到多个位置。要做到这一点,您必须指定几个目的地:
$ oc image mirror 172.30.0.0/16/myproject/busybox:latest docker.io/myrepository/busybox:stable docker.io/myrepository/toybox:dev
注意
oc image mirror
在本地运行,而不是在 OpenShift Container Platform 集群中运行。因此,oc image mirror
必须有权访问源和目标 registry。
如果容器镜像 registry 需要进行身份验证来拉取或推送镜像,您需要在执行 oc image mirror
命令前使用 docker login
命令手动登录。如果您没有对 docker 二进制文件和守护进程的访问权限,例如,由于您在 Jenkins 代理镜像中使用 命令,您可以在调用 oc image mirror
之前手动提供包含有效凭证的 .docker/config.json
文件。