windows的rancherDesktop修改镜像源

news2025/5/9 16:20:35

您好!要在Windows系统上的Rancher Desktop中修改Docker镜像源(即设置registry mirror),您需要根据Rancher Desktop使用的容器运行时(containerd或dockerd)进行配置。用户提到“allowed-image”没有效果,这是因为“Allowed Images”功能用于限制可以拉取哪些镜像,而不是配置镜像加速器。

以下是针对Windows系统在Rancher Desktop中配置Docker镜像源的步骤:

首先,明确您的问题:“allowed-image”不是用来设置镜像源的

Rancher Desktop中的“Allowed Images”功能(通常在 Preferences -> Container Engine -> Allowed Images 中找到)是用来定义一个允许拉取和推送的镜像列表的规则,例如,只允许从您组织或特定的受信任的仓库中获取镜像。它不是用来设置镜像加速器的。您需要修改底层的容器运行时配置来实现镜像加速。

Rancher Desktop默认使用 containerd 作为容器运行时。

对于 containerd,镜像源的配置通常通过一个名为 registries.yaml 的文件来实现。在Rancher Desktop中,推荐使用预配脚本 (Provisioning Scripts) 来修改或创建这个文件。

方法一:使用预配脚本 (推荐给 containerd 用户)

  1. 找到或创建预配脚本目录

    • 在Windows上,Rancher Desktop的预配脚本目录通常位于:%LOCALAPPDATA%\rancher-desktop\provisioning
    • 一个完整的路径示例可能是:C:\Users\您的用户名\AppData\Local\rancher-desktop\provisioning
    • 如果此目录不存在,请手动创建它。
  2. 创建预配脚本文件

    • 在该目录中创建一个以 .start 结尾的脚本文件,例如 mirror-config.start
    • 这个脚本会在Rancher Desktop启动其Kubernetes后端(如果启用)或容器运行时之前执行。
  3. 编辑脚本文件内容

    • 使用文本编辑器打开您创建的 .start 文件,并添加以下内容的脚本。这个脚本会在Rancher Desktop的WSL2虚拟机内部创建或修改 /etc/rancher/k3s/registries.yaml 文件。
    Bash

    #!/bin/sh
    set -eux
    
    # 确保目标目录存在
    mkdir -p /etc/rancher/k3s
    
    # 创建或覆盖 registries.yaml 文件
    # 将 <your-mirror-url> 替换为您的镜像加速器地址,例如 https://docker.m.daocloud.io 或 https://registry.cn-hangzhou.aliyuncs.com
    # 您可以添加多个镜像源,containerd 会依次尝试
    cat <<EOF > /etc/rancher/k3s/registries.yaml
    mirrors:
      "docker.io":
        endpoint:
          - "https://docker.m.daocloud.io"  # 示例镜像源1
          - "https://hub-mirror.c.163.com"  # 示例镜像源2
      # 如果您有其他私有仓库或需要加速的仓库,也可以在这里配置
      # "my.private.registry:5000":
      #   endpoint:
      #     - "http://my.private.registry:5000"
    EOF
    
    echo "Registries.yaml configured for containerd."
    

    重要提示:

    • 将脚本中的 "https://docker.m.daocloud.io""https://hub-mirror.c.163.com" 替换为您实际想要使用的镜像加速器地址。
    • docker.io 是Docker Hub的官方地址。上述配置意味着当拉取例如 nginx (实际是 docker.io/library/nginx) 镜像时,会尝试通过您提供的 endpoint 地址来下载。
    • 您可以为不同的上游仓库配置不同的镜像,例如 k8s.gcr.io 等。
  4. 重启 Rancher Desktop

    • 关闭并重新启动Rancher Desktop,以使预配脚本生效。
  5. 验证配置 (可选但推荐)

    • Rancher Desktop启动后,您可以通过 rdctl shell 进入Rancher Desktop的WSL2虚拟机内部。 PowerShell

      rdctl shell
      
    • 然后查看 registries.yaml 文件的内容: Bash

      cat /etc/rancher/k3s/registries.yaml
      
    • 或者,如果您想检查 containerd 的最终配置(它会合并 registries.yaml 的信息): Bash

      sudo containerd config dump | grep -A 5 "plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors"
      
    • 尝试拉取一个镜像,如 nerdctl pull nginx (如果您使用 containerd 命令行) 或 docker pull nginx (如果Rancher Desktop的Docker CLI使用的是 containerd 后端),观察拉取速度或日志信息是否表明镜像源已生效。

方法二:如果您将 Rancher Desktop 切换到了 dockerd (moby) 作为容器运行时

如果您在 Rancher Desktop 的设置中 (Preferences -> Kubernetes Settings -> Container Runtime) 选择了 dockerd (moby),那么您需要修改Docker守护进程的配置文件 (daemon.json)。

  1. 通过 rdctl shell 进入 Rancher Desktop 的 WSL2 实例

    PowerShell

    rdctl shell
    
  2. 编辑或创建 daemon.json 文件

    • 在WSL2环境中,Docker的配置文件通常位于 /etc/docker/daemon.json
    • 使用文本编辑器(如 vinano)打开或创建该文件: Bash

      sudo vi /etc/docker/daemon.json
      
  3. 添加镜像源配置

    • daemon.json 文件中添加以下内容。如果文件已存在内容,请确保这是一个有效的JSON格式,并在合适的位置添加 registry-mirrors 键。
    JSON

    {
      "registry-mirrors": [
        "https://docker.m.daocloud.io", // 示例镜像源1
        "https://hub-mirror.c.163.com"  // 示例镜像源2
        // 添加更多镜像源,按需替换
      ]
      // 如果已有其他配置,请确保JSON格式正确,例如:
      // "exec-opts": ["native.cgroupdriver=systemd"],
      // "log-driver": "json-file",
      // "log-opts": {
      //   "max-size": "100m"
      // }
    }
    
    • "https://docker.m.daocloud.io" 等替换为您要使用的镜像地址。
  4. 保存文件并退出编辑器。

  5. 重启 Rancher Desktop

    • 完全关闭并重新启动Rancher Desktop以使更改生效。有时,仅重启 dockerd 服务可能不够,重启整个Rancher Desktop能确保配置被加载。

重要注意事项:

  • 预配脚本的持久性:通过 %LOCALAPPDATA%\rancher-desktop\provisioning 目录下的 .start 脚本配置 registries.yaml (针对containerd) 是Rancher Desktop推荐的持久化自定义配置的方式。直接在WSL2虚拟机内部修改 /etc/rancher/k3s/registries.yaml/etc/docker/daemon.json 可能在Rancher Desktop更新或恢复出厂设置时丢失。
  • WSL2 网络:确保您的Windows防火墙或任何网络安全软件没有阻止Rancher Desktop的WSL2虚拟机访问您配置的镜像源地址。
  • 镜像源的有效性:请确保您使用的镜像源地址是有效的,并且能够提供您需要的镜像。
  • Rancher Desktop 版本:具体的配置路径和行为可能因Rancher Desktop的版本略有不同。建议查阅您所使用版本的官方文档以获取最准确的信息。

总结一下,对于Windows上的Rancher Desktop,如果您使用默认的 containerd 运行时,请优先考虑使用预配脚本在 %LOCALAPPDATA%\rancher-desktop\provisioning 目录创建 .start 文件来配置 /etc/rancher/k3s/registries.yaml。如果您切换到了 dockerd,则需要通过 rdctl shell 进入WSL2环境修改 /etc/docker/daemon.json,或者也可以研究是否能通过预配脚本来修改 daemon.json (一些用户报告可以通过预配脚本修改 /etc/conf.d/docker 文件来传递 DOCKER_OPTS,但这可能更复杂)。

请先尝试使用预配脚本为 containerd 配置镜像源。如果问题依旧,请提供您Rancher Desktop的版本和当前选择的容器运行时,以便进一步协助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2371614.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring中的@ComponentScan注解详解

ComponentScan 是 Spring 框架中用于自动扫描并注册组件的核心注解&#xff0c;它简化了 Spring 应用中 Bean 的发现和装配流程。以下从核心功能、属性解析、使用场景及示例等方面进行详细说明。 一、核心功能与作用 自动扫描组件 ComponentScan 会扫描指定包及其子包下的类&am…

深入剖析 I/O 复用之 select 机制

深入剖析 I/O 复用之 select 机制 在网络编程中&#xff0c;I/O 复用是一项关键技术&#xff0c;它允许程序同时监控多个文件描述符的状态变化&#xff0c;从而高效地处理多个 I/O 操作。select 作为 I/O 复用的经典实现方式&#xff0c;在众多网络应用中扮演着重要角色。本文…

SpringBoot指定项目层日志记录

1、新建一个Springboot项目&#xff0c;添加Lombok依赖&#xff08;注意&#xff1a;这里使用的Lombok下的Slf4j快速日志记录方式&#xff09; <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependenc…

RISC-V hardfault分析工具,RTTHREAD-RVBACKTRACE

RV BACKTRACE 简介 本文主要讲述RV BACKTRACE 的内部主要原理 没有接触过rvbacktrace可以看下面两篇文章&#xff0c;理解一下如何使用RVBACKTRACE RVBacktrace RISC-V极简栈回溯组件&#xff1a;https://club.rt-thread.org/ask/article/64bfe06feb7b3e29.html RVBacktra…

matlab 中function的用法

matlab 中function的用法 前言介绍1. 基本语法示例&#xff08;1&#xff09;可以直接输出&#xff08;2&#xff09;调用函数 2.输入参数和输出参数示例多输入参数和输出参数定义一个函数&#xff0c;计算两个数的和与差&#xff1a;调用该函数&#xff1a; 3. 默认参数示例 4…

解锁 LLM 推理速度:深入 FlashAttention 与 PagedAttention 的原理与实践

写在前面 大型语言模型 (LLM) 已经渗透到我们数字生活的方方面面,从智能问答、内容创作到代码辅助,其能力令人惊叹。然而,驱动这些强大模型的背后,是对计算资源(尤其是 GPU)的巨大需求。在模型推理 (Inference) 阶段,即模型实际对外提供服务的阶段,速度 (Latency) 和吞…

4个纯CSS自定义的简单而优雅的滚动条样式

今天发现 uni-app 项目的滚动条不显示&#xff0c;查了下原来是设置了 ::-webkit-scrollbar {display: none; } 那么怎么用 css 设置滚动条样式呢&#xff1f; 定义滚动条整体样式‌ ::-webkit-scrollbar 定义滚动条滑块样式 ::-webkit-scrollbar-thumb 定义滚动条轨道样式‌…

查看jdk是否安装并且配置成功?(Android studio安装前的准备)

WinR输入cmd打开命令提示窗口 输入命令 java -version 回车显示如下&#xff1a;

5月8日直播见!Atlassian Team‘25大会精华+AI实战分享

在刚刚落幕的 Atlassian Team’25 全球大会上&#xff0c;Atlassian发布了多项重磅创新&#xff0c;全面升级其协作平台&#xff0c;涵盖从Al驱动、知识管理到跨团队协作&#xff0c;再到战略执行的各个方面。 为帮助中国用户深入了解这些前沿动态&#xff0c;Atlassian全球白…

Windows系统下使用Kafka和Zookeeper,Python运行kafka(一)

下载和安装见Linux系统下使用Kafka和Zookeeper 配置 Zookeeper Zookeeper 是 Kafka 所依赖的分布式协调服务。在 Kafka 解压目录下,有一个 Zookeeper 的配置文件模板config/zookeeper.properties,你可以直接使用默认配置。 启动 Zookeeper 打开命令提示符(CMD),进入 K…

C++之“继承”

继续开始关于C相关的内容。C作为面向对象的语言&#xff0c;有三大特性&#xff1a;封装&#xff0c;继承&#xff0c;多态。 这篇文章我们开始学习&#xff1a;继承。 一、继承的概念和定义 1. 继承的概念 什么是继承呢&#xff1f; 字面意思理解来看&#xff1a;继承就是…

Webug4.0靶场通关笔记19- 第24关邮箱轰炸

目录 第24关 邮箱轰炸 1.配置环境 2.打开靶场 3.源码分析 4.邮箱轰炸 &#xff08;1&#xff09;注册界面bp抓包 &#xff08;2&#xff09;发送到intruder &#xff08;3&#xff09;配置position &#xff08;4&#xff09;配置payload &#xff08;5&#xff09;开…

java CompletableFuture 异步编程工具用法1

1、测试异步调用&#xff1a; static void testCompletableFuture1() throws ExecutionException, InterruptedException {// 1、无返回值的异步任务。异步线程执行RunnableCompletableFuture.runAsync(() -> System.out.println("only you"));// 2、有返回值的异…

若依框架Ruoyi-vue整合图表Echarts中国地图标注动态数据

若依框架Ruoyi-vue整合图表Echarts中国地图 概述创作灵感预期效果整合教程前期准备整合若依框架1、引入china.json2、方法3、data演示数据4、核心代码 完整代码[毫无保留]组件调用 总结 概述 首先&#xff0c;我需要回忆之前给出的回答&#xff0c;确保这次的内容不重复&#…

算法中的数学:约数

1.求一个整数的所有约数 对于一个整数x&#xff0c;他的其中一个约数若为i&#xff0c;那么x/i也是x的一个约数。而其中一个约数的大小一定小于等于根号x&#xff08;完全平方数则两个约数都为根号x&#xff09;&#xff0c;所以我们只需要遍历到根号x&#xff0c;然后计算出另…

[监控看板]Grafana+Prometheus+Exporter监控疑难排查

采用GrafanaPrometheusExporter监控MySQL时发现经常数据不即时同步&#xff0c;本示例也是本地搭建采用。 Prometheus面板 1&#xff0c;Detected a time difference of 11h 47m 22.337s between your browser and the server. You may see unexpected time-shifted query res…

LaTeX印刷体 字符与数学符号的总结

1. 希腊字母&#xff08;Greek Letters&#xff09; 名称小写 LaTeX大写 LaTeX显示效果Alpha\alphaAαα, AABeta\betaBββ, BBGamma\gamma\Gammaγγ, ΓΓDelta\delta\Deltaδδ, ΔΔTheta\theta\Thetaθθ, ΘΘPi\pi\Piππ, ΠΠSigma\sigma\Sigmaσσ, ΣΣOmega\omeg…

剥开 MP4 的 千层 “数字洋葱”:从外到内拆解通用媒体容器的核心

在当今数字化时代&#xff0c;MP4 格式随处可见&#xff0c;无论是在线视频、手机拍摄的短片&#xff0c;还是从各种渠道获取的音频视频文件&#xff0c;MP4 都占据着主流地位。它就像一个万能的 “数字媒体集装箱”&#xff0c;高效地整合和传输着各种视听内容。接下来&#x…

从彼得·蒂尔四象限看 Crypto「情绪变迁」:从密码朋克转向「标准化追求者」

作者&#xff1a;Techub 精选编译 撰文&#xff1a;Matti&#xff0c;Zee Prime Capital 编译&#xff1a;Yangz&#xff0c;Techub News 我又带着一篇受彼得蒂尔&#xff08;Peter Thiel&#xff09;启发的思想杂烩回来了。作为自封的「蒂尔学派」信徒&#xff0c;我常透过他…

Java线程安全问题深度解析与解决方案

一、线程安全问题的本质 并发编程的核心挑战&#xff1a;当多个线程同时访问共享资源时&#xff0c;由于操作系统的抢占式调度特性&#xff0c;可能导致不可预期的结果。这种因非原子操作和竞态条件引发的数据不一致问题&#xff0c;称为线程安全问题。 二、经典线程安全问题案…