5.7. 验证您选择的镜像以进行镜像


您可以使用 oc-mirror 插件 v2 执行不实际镜像任何镜像的测试运行(dry run)。这可让您查看要镜像的镜像列表。您也可以在早期使用空运行来捕获与镜像设置配置的任何错误。在镜像到磁盘工作流上运行空运行时,oc-mirror 插件 v2 会检查镜像集中的所有镜像是否在其缓存中可用。missing.txt 文件中列出了任何缺少的镜像。在镜像前执行空运行时,missing.txtmapping.txt 文件都包含相同的镜像列表。

5.7.1. 为 oc-mirror 插件 v2 执行空运行

通过在不镜像的情况下执行空运行来验证您的镜像设置。这样可确保您的设置正确,并防止意外更改。

流程

  • 要执行测试运行,请运行 oc mirror 命令,并在命令中使用 --dry-run 参数:

    $ oc mirror -c <image_set_config_yaml> file://<oc_mirror_workspace_path> --dry-run --v2
    Copy to Clipboard Toggle word wrap

    其中:

    <image_set_config_yaml>
    指定您创建的镜像设置配置文件。
    <oc_mirror_workspace_path>
    插入工作区路径的地址。
    <mirror_registry_url>

    插入要从中镜像或删除的远程容器 registry 的 URL 或地址。

    输出示例

    [INFO]   : :wave: Hello, welcome to oc-mirror
    [INFO]   : :gear:  setting up the environment for you...
    [INFO]   : :twisted_rightwards_arrows: workflow mode: mirrorToDisk
    [INFO]   : :sleuth_or_spy:  going to discover the necessary images...
    [INFO]   : :mag: collecting release images...
    [INFO]   : :mag: collecting operator images...
    [INFO]   : :mag: collecting additional images...
    [WARN]   : :warning:  54/54 images necessary for mirroring are not available in the cache.
    [WARN]   : List of missing images in : CLID-19/working-dir/dry-run/missing.txt.
    please re-run the mirror to disk process
    [INFO]   : :page_facing_up: list of all images for mirroring in : CLID-19/working-dir/dry-run/mapping.txt
    [INFO]   : mirror time     : 9.641091076s
    [INFO]   : :wave: Goodbye, thank you for using oc-mirror
    Copy to Clipboard Toggle word wrap

验证

  1. 进入生成的工作区目录:

    $ cd <oc_mirror_workspace_path>
    Copy to Clipboard Toggle word wrap
  2. 检查生成的 mapping.txtmissing.txt 文件。这些文件包含将要镜像的所有镜像的列表。

5.7.2. oc-mirror 插件 v2 错误故障排除

oc-mirror 插件 v2 现在会在单独的文件中记录所有镜像同步错误,从而更轻松地跟踪和诊断失败。

重要

如果镜像(mirror)发行版本或发行组件镜像时出现错误,它们至关重要。这会立即停止镜像(mirror)过程。

镜像 (mirror) Operator、与 Operator 相关的镜像或其他镜像的错误不会停止镜像(mirror)过程。镜像过程会继续,oc-mirror 插件 v2 会在 working-dir/logs 目录下保存一个文件,描述哪些 Operator 无法镜像(mirror)。

当一个镜像无法被镜像(mirror)时,该镜像会作为一个或多个 Operator 捆绑包的一部分被镜像(mirror),oc-mirror 插件 v2 会通知用户 Operator 不完整,从而明确提供受错误影响的 Operator 捆绑包的信息。

流程

  1. 检查与服务器相关的问题:

    错误示例

    [ERROR]  : [Worker] error mirroring image localhost:55000/openshift/graph-image:latest error: copying image 1/4 from manifest list: trying to reuse blob sha256:edab65b863aead24e3ed77cea194b6562143049a9307cd48f86b542db9eecb6e at destination: pinging container registry localhost:5000: Get "https://localhost:5000/v2/": http: server gave HTTP response to HTTPS client
    Copy to Clipboard Toggle word wrap

    1. 在 oc-mirror 插件 v2 输出目录中,打开 working-dir/logs 文件夹中的 mirroring_error_date_time.log 文件。
    2. 查找表示服务器端问题的错误消息,如 HTTP 500 错误、令牌过期或超时。
    3. 如果问题仍然存在,请重试镜像过程或联系技术支持。
  2. 检查对 Operator 进行镜像的过程不完整:

    错误示例

    error mirroring image docker://registry.redhat.io/3scale-amp2/zync-rhel9@sha256:8bb6b31e108d67476cc62622f20ff8db34efae5d58014de9502336fcc479d86d (Operator bundles: [3scale-operator.v0.11.12] - Operators: [3scale-operator]) error: initializing source docker://localhost:55000/3scale-amp2/zync-rhel9:8bb6b31e108d67476cc62622f20ff8db34efae5d58014de9502336fcc479d86d: reading manifest 8bb6b31e108d67476cc62622f20ff8db34efae5d58014de9502336fcc479d86d in localhost:55000/3scale-amp2/zync-rhel9: manifest unknown
    error mirroring image docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:de0a70d1263a6a596d28bf376158056631afd0b6159865008a7263a8e9bf0c7d error: skipping operator bundle docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:de0a70d1263a6a596d28bf376158056631afd0b6159865008a7263a8e9bf0c7d because one of its related images failed to mirror
    error mirroring image docker://registry.redhat.io/3scale-amp2/system-rhel7@sha256:fe77272021867cc6b6d5d0c9bd06c99d4024ad53f1ab94ec0ab69d0fda74588e (Operator bundles: [3scale-operator.v0.11.12] - Operators: [3scale-operator]) error: initializing source docker://localhost:55000/3scale-amp2/system-rhel7:fe77272021867cc6b6d5d0c9bd06c99d4024ad53f1ab94ec0ab69d0fda74588e: reading manifest fe77272021867cc6b6d5d0c9bd06c99d4024ad53f1ab94ec0ab69d0fda74588e in localhost:55000/3scale-amp2/system-rhel7: manifest unknown
    Copy to Clipboard Toggle word wrap

    1. 在控制台或日志文件中检查相关的警告,以了解哪些 Operator 不完整。

      如果一个 Operator 被标记为不完整,与该 Operator 相关的镜像可能会无法镜像 (mirror)。

    2. 手动镜像(mirror)缺少的镜像或重试镜像 (mirror) 的过程。
  3. 检查与生成的集群资源相关的错误。即使无法镜像(mirror)某些镜像,oc-mirror v2 仍会为已成功镜像(mirror)的镜像生成集群资源,如 IDMS.yamlITMS.yaml 文件。

    1. 在输出目录中检查生成的文件。
    2. 如果特定镜像缺少了这些文件,请确保在镜像(mirror)过程中没有发生关键错误。

按照以下步骤,您可以更好地诊断问题并确保更顺畅地进行镜像。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat