windows的rancherDesktop修改镜像源
您好!要在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
用户)
-
找到或创建预配脚本目录:
- 在Windows上,Rancher Desktop的预配脚本目录通常位于:
%LOCALAPPDATA%\rancher-desktop\provisioning
- 一个完整的路径示例可能是:
C:\Users\您的用户名\AppData\Local\rancher-desktop\provisioning
- 如果此目录不存在,请手动创建它。
- 在Windows上,Rancher Desktop的预配脚本目录通常位于:
-
创建预配脚本文件:
- 在该目录中创建一个以
.start
结尾的脚本文件,例如mirror-config.start
。 - 这个脚本会在Rancher Desktop启动其Kubernetes后端(如果启用)或容器运行时之前执行。
- 在该目录中创建一个以
-
编辑脚本文件内容:
- 使用文本编辑器打开您创建的
.start
文件,并添加以下内容的脚本。这个脚本会在Rancher Desktop的WSL2虚拟机内部创建或修改/etc/rancher/k3s/registries.yaml
文件。
#!/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" EOFecho "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
等。
- 使用文本编辑器打开您创建的
-
重启 Rancher Desktop:
- 关闭并重新启动Rancher Desktop,以使预配脚本生效。
-
验证配置 (可选但推荐):
- Rancher Desktop启动后,您可以通过
rdctl shell
进入Rancher Desktop的WSL2虚拟机内部。 PowerShellrdctl shell
- 然后查看
registries.yaml
文件的内容: Bashcat /etc/rancher/k3s/registries.yaml
- 或者,如果您想检查
containerd
的最终配置(它会合并registries.yaml
的信息): Bashsudo 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启动后,您可以通过
方法二:如果您将 Rancher Desktop 切换到了 dockerd (moby)
作为容器运行时
如果您在 Rancher Desktop 的设置中 (Preferences -> Kubernetes Settings -> Container Runtime) 选择了 dockerd (moby)
,那么您需要修改Docker守护进程的配置文件 (daemon.json
)。
-
通过
PowerShellrdctl shell
进入 Rancher Desktop 的 WSL2 实例:rdctl shell
-
编辑或创建
daemon.json
文件:- 在WSL2环境中,Docker的配置文件通常位于
/etc/docker/daemon.json
。 - 使用文本编辑器(如
vi
或nano
)打开或创建该文件: Bashsudo vi /etc/docker/daemon.json
- 在WSL2环境中,Docker的配置文件通常位于
-
添加镜像源配置:
- 在
daemon.json
文件中添加以下内容。如果文件已存在内容,请确保这是一个有效的JSON格式,并在合适的位置添加registry-mirrors
键。
{"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"
等替换为您要使用的镜像地址。
- 在
-
保存文件并退出编辑器。
-
重启 Rancher Desktop:
- 完全关闭并重新启动Rancher Desktop以使更改生效。有时,仅重启
dockerd
服务可能不够,重启整个Rancher Desktop能确保配置被加载。
- 完全关闭并重新启动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的版本和当前选择的容器运行时,以便进一步协助。
相关文章:
windows的rancherDesktop修改镜像源
您好!要在Windows系统上的Rancher Desktop中修改Docker镜像源(即设置registry mirror),您需要根据Rancher Desktop使用的容器运行时(containerd或dockerd)进行配置。用户提到“allowed-image”没有效果&…...

spring中的@ComponentScan注解详解
ComponentScan 是 Spring 框架中用于自动扫描并注册组件的核心注解,它简化了 Spring 应用中 Bean 的发现和装配流程。以下从核心功能、属性解析、使用场景及示例等方面进行详细说明。 一、核心功能与作用 自动扫描组件 ComponentScan 会扫描指定包及其子包下的类&am…...
机器学习之嵌入(Embeddings):从理论到实践
机器学习之嵌入(Embeddings):从理论到实践 摘要 本文深入探讨了机器学习中嵌入(Embeddings)的概念和应用。通过具体的实例和可视化展示,我们将了解嵌入如何将高维数据转换为低维表示,以及这种转换在推荐系统、自然语言处理等领域的实际应用…...

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

SpringBoot指定项目层日志记录
1、新建一个Springboot项目,添加Lombok依赖(注意:这里使用的Lombok下的Slf4j快速日志记录方式) <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependenc…...

RISC-V hardfault分析工具,RTTHREAD-RVBACKTRACE
RV BACKTRACE 简介 本文主要讲述RV BACKTRACE 的内部主要原理 没有接触过rvbacktrace可以看下面两篇文章,理解一下如何使用RVBACKTRACE RVBacktrace RISC-V极简栈回溯组件:https://club.rt-thread.org/ask/article/64bfe06feb7b3e29.html RVBacktra…...
xiaopiu原型设计工具笔记
文章目录 有没有行组件是否支持根据图片生成原型呢? 其他官网 做项目要用到原型设计,还是那句话,遇到的必须会用,走起。 支持本地也支持线上。 有没有行组件 是这样,同一行有多个字段,如何弄的准确点呢? 目前只会弄…...

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

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

4个纯CSS自定义的简单而优雅的滚动条样式
今天发现 uni-app 项目的滚动条不显示,查了下原来是设置了 ::-webkit-scrollbar {display: none; } 那么怎么用 css 设置滚动条样式呢? 定义滚动条整体样式 ::-webkit-scrollbar 定义滚动条滑块样式 ::-webkit-scrollbar-thumb 定义滚动条轨道样式…...

查看jdk是否安装并且配置成功?(Android studio安装前的准备)
WinR输入cmd打开命令提示窗口 输入命令 java -version 回车显示如下:...

5月8日直播见!Atlassian Team‘25大会精华+AI实战分享
在刚刚落幕的 Atlassian Team’25 全球大会上,Atlassian发布了多项重磅创新,全面升级其协作平台,涵盖从Al驱动、知识管理到跨团队协作,再到战略执行的各个方面。 为帮助中国用户深入了解这些前沿动态,Atlassian全球白…...

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

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

Webug4.0靶场通关笔记19- 第24关邮箱轰炸
目录 第24关 邮箱轰炸 1.配置环境 2.打开靶场 3.源码分析 4.邮箱轰炸 (1)注册界面bp抓包 (2)发送到intruder (3)配置position (4)配置payload (5)开…...

java CompletableFuture 异步编程工具用法1
1、测试异步调用: static void testCompletableFuture1() throws ExecutionException, InterruptedException {// 1、无返回值的异步任务。异步线程执行RunnableCompletableFuture.runAsync(() -> System.out.println("only you"));// 2、有返回值的异…...
缺乏实体人形机器人的主流高精度仿真方案
在缺乏实体人形机器人的情况下,可通过以下主流仿真方案实现高精度模拟(基于2025年最新技术): 一、基础建模工具链 MATLAB Robotics Toolbox • 通过连杆(Link)和关节(Joint)定义生物力学参数 • 示例代码创建简化模型:…...
基于STM32、HAL库的CP2104 USB转UART收发器 驱动程序设计
一、简介: CP2104是Silicon Labs公司推出的一款USB转UART桥接芯片,具有以下特点: USB 2.0全速兼容 集成USB收发器,无需外部电阻 支持UART数据传输,波特率从300bps到2Mbps 内置EEPROM可配置设备信息 支持RTS/CTS硬件流控制 3.3V I/O电平,内置5V至3.3V稳压器 紧凑的QFN-24…...
ERC-20与ERC-721:区块链代币标准的双星解析
一、代币标准的诞生背景 在以太坊生态中,代币标准是构建去中心化应用(DApps)的基石。ERC-20与ERC-721分别代表同质化与非同质化代币的两大核心标准,前者支撑着90%以上的加密资产流通,后者则开启了数字资产唯一性的新时…...
使用Go语言对接全球股票数据源API实践指南
使用Go语言对接全球股票数据API实践指南 概述 本文介绍如何通过Go语言对接支持多国股票数据的API服务。我们将基于提供的API文档,实现包括市场行情、K线数据、实时推送等核心功能的对接。 一、准备工作 1. 获取API Key 联系服务提供商获取访问密钥(替…...
经典密码学算法实现
# AES-128 加密算法的规范实现(不使用外部库) # ECB模式S_BOX [0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B,0xFE, 0xD7, 0xAB, 0x76, 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0,0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0x…...
git 远程仓库管理详解
Git 的远程仓库管理是多人协作和代码共享的核心功能。以下是 Git 远程仓库管理的详细说明,包括常用操作、命令和最佳实践。 1. 什么是远程仓库? 远程仓库(Remote Repository):存储在网络服务器上的 Git 仓库࿰…...
ABP vNext + gRPC 实现服务间高速通信
ABP vNext gRPC 实现服务间高速通信 💨 在现代微服务架构中,服务之间频繁的调用往往对性能构成挑战。尤其在电商秒杀、金融风控、实时监控等对响应延迟敏感的场景中,传统 REST API 面临序列化负担重、数据体积大、通信延迟高等瓶颈。 本文…...

若依框架Ruoyi-vue整合图表Echarts中国地图标注动态数据
若依框架Ruoyi-vue整合图表Echarts中国地图 概述创作灵感预期效果整合教程前期准备整合若依框架1、引入china.json2、方法3、data演示数据4、核心代码 完整代码[毫无保留]组件调用 总结 概述 首先,我需要回忆之前给出的回答,确保这次的内容不重复&#…...
京东(JD)API 商品详情数据接口讲解及 JSON 示例
前言 京东开放平台提供了多种商品详情相关的 API 接口,开发者可以通过这些接口获取商品的详细信息。以下为接口调用方式及 JSON 返回数据的参考示例。 1. 接口调用方式 京东商品详情接口通常采用以下形式: 请求方式:GET/POST关键参数&…...

算法中的数学:约数
1.求一个整数的所有约数 对于一个整数x,他的其中一个约数若为i,那么x/i也是x的一个约数。而其中一个约数的大小一定小于等于根号x(完全平方数则两个约数都为根号x),所以我们只需要遍历到根号x,然后计算出另…...
Python实例题:Python获取喜马拉雅音频
目录 Python实例题 题目 python-get-ximalaya-audioPython 获取喜马拉雅音频脚本 代码解释 get_audio_info 函数: download_audio 函数: 主程序: 运行思路 注意事项 Python实例题 题目 Python获取喜马拉雅音频 python-get-ximala…...

[监控看板]Grafana+Prometheus+Exporter监控疑难排查
采用GrafanaPrometheusExporter监控MySQL时发现经常数据不即时同步,本示例也是本地搭建采用。 Prometheus面板 1,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. 希腊字母(Greek Letters) 名称小写 LaTeX大写 LaTeX显示效果Alpha\alphaAαα, AABeta\betaBββ, BBGamma\gamma\Gammaγγ, ΓΓDelta\delta\Deltaδδ, ΔΔTheta\theta\Thetaθθ, ΘΘPi\pi\Piππ, ΠΠSigma\sigma\Sigmaσσ, ΣΣOmega\omeg…...

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