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”没有效果&…...
从零开始了解数据采集(二十四)——工业4.0讲解
在全球制造业加速变革的今天,“工业4.0”成为了一个炙手可热的词汇。从德国的概念提出,到我国的积极实践,这场技术与产业的深度融合正推动制造业迈向智能化、数字化的新时代。对于企业而言,这是一次不可多得的机遇,更是…...
Java复习笔记-基础
Java复习笔记 一、什么是JDK、JRE、JVM二、Keyword-关键字三、variable-变量浮点数类型-float和double字符类型-char基本数据类型变量间运算规则基本数据类型与 String 的运算和 四、逻辑运算符五、流程控制语句关于if else 和 switchfor循环while循环do while循环 六、Array-数…...
用递归实现各种排列
为了满足字典序的输出,我采用了逐位递归的方法(每一位的所能取到的最小值都大于前一位) 1,指数型排列 #include<bits/stdc.h> using ll long long int; using namespace std; int a[10];void printp(int m) {for (int h …...
基于Stable Diffusion XL模型进行文本生成图像的训练
基于Stable Diffusion XL模型进行文本生成图像的训练 flyfish export MODEL_NAME"stabilityai/stable-diffusion-xl-base-1.0" export VAE_NAME"madebyollin/sdxl-vae-fp16-fix" export DATASET_NAME"lambdalabs/naruto-blip-captions"acceler…...
SHA系列算法
SHA1系列算法 SHA(Secure Hash Algorithm,安全散列算法)是一组加密哈希算法,用于确保数据完整性和提供消息摘要功能。SHA算法由美国国家安全局(NSA)设计,并由国家标准与技术研究院(…...
985高校查重率“隐性阈值”:低于5%可能被重点审查!
你是不是也以为: “查重率越低越好,最好压到1%、0%,导师看了都感动哭🥹” 但是你不知道的是——在985/211等重点高校,查重率太低反而可能引起导师和学术办公室的“特别关注”! 今天就来扒一扒这个查重圈“…...
基于vue3+QuillEditor的深度定制
需求: 项目需求一个深度定制的富文本编辑器,要求能够定制表格,能够从素材库插入图片,以及其他个性化操作。我这里就基于vue3+ QuillEditor深度定制的角度,解析一下QuillEditor富文本编辑器的功能扩展功能的需求。 一、扩展工具栏 根据需求,我们需要扩展工具栏,实现自…...
Redis 8.0正式发布,再次开源为哪般?
Redis 8.0 已经于 2025 年 5 月 1 日正式发布,除了一些新功能和性能改进之外,一个非常重要的改变就是新增了开源的 AGPLv3 协议支持,再次回归开源社区。 为什么说再次呢?这个需要从 2024 年 3 月份 Redis 7.4 说起,因为…...
静态BFD配置
AR2配置 int g0/0/0 ip add 10.10.10.2 quit bfd quit bfd 1 bind peer-ip 10.10.10.1 source-ip 10.10.10.2 auto commit AR1配置 int g0/0/0 ip add 10.10.10.1 int g0/0/1 ip add 10.10.11.1 quit bfd quit bfd 1 bind peer-ip 10.0.12.2 source-ip 10.0.12.1 auto co…...
[python] 函数1-函数基础
一 函数使用 1.1 基本用法 def 函数名() 函数体 函数返回值: 返回调用的结果 def myPyFirstFunc():print("hello python") myPyFirstFunc()1.2 函数参数 def 函数名(形参a,形参b) 函数体 def add(a,b):return a b print(add(1,2)) print(add(1,4)) 二 函…...
【并发编程】MySQL锁及单机锁实现
目录 一、MySQL锁机制 1.1 按锁粒度划分 1.2 按锁功能划分 1.3 InnoDB锁实现机制 (1)记录锁(Record Lock) (2) 间隙锁(Gap Lock) (3) 临键锁(Next-Key Lock) (4) 插入意向锁(Insert Intention Lock) 二、基于 JVM 本地锁实现,保证线程安全 2.1 线程不安全的分析 2.1…...
C++ | 常用语法笔记
判断数字还是字母 1.笨办法,使用直接判断办法 if(c > 0 && c < 9) cout << "c是数字" << endl; if(c > a && c < z) cout << "c是小写字母" << endl; if(c > A && c< Z) …...
浅谈 Shell 脚本编程中引号的妙用
在 Shell 脚本编程中,引号的使用是一项基础却至关重要的技能。无论是单引号、双引号还是不加引号,它们都会显著影响 Shell 对字符串、变量、特殊字符以及命令的解析方式。理解这些差异不仅能帮助开发者编写更健壮的脚本,还能避免因误解引发的…...
DeFi开发系统软件开发:技术架构与生态重构
DeFi开发系统软件开发:技术架构与生态重构 ——2025年去中心化金融开发的范式革新与实践指南 一、技术架构演进:从单一链到多链混合引擎 现代DeFi系统开发已从单一公链架构转向“跨链互操作混合模式”,结合中心化效率与去中心化安全双重优势…...
Spring AI 集成 DeepSeek V3 模型开发指南
Spring AI 集成 DeepSeek V3 模型开发指南 前言 在人工智能飞速发展的当下,大语言模型不断推陈出新,DeepSeek AI 推出的开源 DeepSeek V3 模型凭借其卓越的推理和问题解决能力备受瞩目。与此同时,Spring AI 作为一个强大的框架,…...
C++:扫雷游戏
一.扫雷游戏项目设计 1.文件结构设计 首先我们要先定义三个文件 ①test.c //文件中写游戏的测试逻辑 ②game.c //文件中写游戏中函数的实现等 ③game.h //文件中写游戏需要的数据类型和函数声明等 2.扫雷游戏的主体结构 使⽤控制台实现经典的扫雷游戏 •游戏可以通过菜单…...
【写作格式】写论文时常见格式问题
写作格式 1.图片总是乱跑,怎么固定图片2.一键更新引用3.交叉引用[1][2][3]怎么变为[1,2,3]4.目录灰色底纹怎么消除5.word保存为pdf提取标题为书签 1.图片总是乱跑,怎么固定图片 遇到的问题 解决方法 第一步:图片格式——>环绕文字——&g…...
Android平台FFmpeg视频解码全流程指南
本文将详细介绍在Android平台上使用FFmpeg进行高效视频解码的实现方案,采用面向对象的设计思想。 一、架构设计 1.1 整体架构 采用三层架构设计: • 应用层:提供用户接口和UI展示 • 业务逻辑层:管理解码流程和状态 • Native…...
C31-形参与实参的区别
一 形参与实参 实参:调用函数时传递的实际值,可以是变量、常量或表达式,如"add(3,a)"中的’3’与’a’形参:函数定义中声明的参数变量,用于接收实参的值,如"int add(intx,inty)"中的’x’与’y’ C语言默认通过值传递参数,形参与实参是独立的变量,仅数据…...
自学嵌入式 day 16-c语言-第10章 指针
14 指针函数 返回值是指针的函数。 (1)动态内存分配 ①使用方式: #include<stdlib.h> void *malloc(size_t size) ②返回连续的内存空间的首元素地址,内存空间未被初始化,申请的是堆区的空间。 ③内存空间申请…...
DataWorks快速入门
文章目录 一、DataWorks简介1、概念2、功能3、优势 二、DataWorks使用1、创建工作空间2、绑定计算资源3、数据开发 三、DataWorks节点类型1、MaxCompute SQL节点①创建非分区表并插入数据②创建分区表并插入数据③查询表数据 2、离线同步节点3、PYODPS 3节点①判断表是否存在②…...
AtCoder Beginner Contest 404 A-E 题解
还是ABC好打~比ARC好打多了( 题解部分 A - Not Found 给定你一个长度最大25的字符串,任意输出一个未出现过的小写字母 签到题,map或者数组下标查询一下就好 #include<bits/stdc.h>using namespace std;#define int long long #def…...
WiFi出现感叹号上不了网怎么办 轻松恢复网络
在日常生活中,WiFi已成为不可或缺的一部分。然而,有时我们会遇到WiFi图标上出现了感叹号,无法上网。无论是办公、学习还是娱乐,这种情况都会严重影响体验。这种情况该怎么解决呢?本期驱动哥就给各位介绍几种简单的解决…...
M0芯片的基础篇Timer
一、计数器的原理 加法计数器 减法计数器 触发中断 最短计时时间 时钟周期决定 16bit 65535 最长计时时间 时间周期和最大计数值决定 二、syscfg配置 timg:通用定时器 tima:高级定时器 timx:不论是高级定时器还是通用定时器都是一样…...
vue教程(vuepress版)
Vue 完全指南 项目介绍 这是一个系统化的 Vue.js 学习教程,采用循序渐进的方式,帮助开发者从零开始掌握 Vue 开发技能。 教程特点 循序渐进: 从 Vue 基础概念开始,逐步深入到高级特性,适合不同层次的开发者学习实战驱动: 结合…...
【嵌入式开发-USB】
嵌入式开发-USB ■ USB简介 ■ USB简介...
【前端】webstorm运行程序浏览器报network error
是浏览器阻止了链接,先把能正常访问的链接搜索,禁止访问的时候,高级,强制访问,再运行项目生成的网址就可以了。...
国内led显示屏厂家以及售后 消费对比与选择
国内led显示屏的厂家有很多,虽然让消费者在选择的时候有了多种的机会,可是在质量方面的鉴别上也是无从下手。对此为了方便消费者作出选择,下面为您推荐一些品牌厂家。 1、强力巨彩 是全球比较有名气的LED显示屏厂家的制造商,总厂房…...
【Go】优化文件下载处理:从多级复制到零拷贝流式处理
在开发音频处理服务过程中,我们面临一个常见需求:从网络下载音频文件并保存到本地。这个看似简单的操作,实际上有很多优化空间。本文将分享一个逐步优化的过程,展示如何从一个基础实现逐步改进到高效的流式下载方案。 初始实现&a…...
驱动开发硬核特训 · Day 30(上篇):深入理解 I2C 总线驱动模型(以 at24 EEPROM 为例)
作者:嵌入式Jerry 视频教程请关注 B 站:“嵌入式Jerry” 一、写在前面 在上一阶段我们已经深入理解了字符设备驱动与设备模型之间的结合方式、sysfs 的创建方式以及平台驱动模型的实际运用。今天我们迈入总线驱动模型的世界,聚焦于 I2C 总线…...
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…...
关键字where
C# 中的 where 关键字主要用在泛型约束(Generic Constraints)中,目的是对泛型类型参数限制其必须满足的条件,从而保证类型参数具备特定的能力或特性,增强类型安全和代码可读性。 约束写法说明适用场景举例C#版本要求w…...
vite 代理 websocket
🛡️一、WebSocket 基本概念 名称全称含义使用场景ws://WebSocket非加密的 WebSocket 连接开发环境、内网通信wss://WebSocket Secure加密的 WebSocket 连接(基于 TLS/SSL)生产环境、公网通信 🛡️二、安全性对比 特性ws://wss…...
深入理解操作系统:从基础概念到核心管理
在计算机系统中,操作系统是至关重要的组成部分,它如同计算机的“大管家”,统筹协调着系统的各项资源与工作流程。接下来,就让我们深入了解操作系统的奥秘。 一、操作系统概述 操作系统能有效组织和管理系统中的软/硬件资源&…...
手撕基于AMQP协议的简易消息队列-1(项目介绍与开发环境的搭建)
项目绍 码云仓库:MessageQueues: 仿Rabbit实现消息队列 文章概要 本文将介绍从零搭建一个简易消息队列的方法,目的是了解并学习消息队列的底层原理与逻辑,编写一个独立的服务器程序。从搭建开发环境开始,到编写一些工作组件&am…...
C++ 模板方法模式详解与实例
模板方法模式概念 模板方法模式(Template Method Pattern)属于行为型设计模式,其核心思想是在一个抽象类中定义一个算法的骨架,而将一些步骤延迟到子类中实现。这样可以使得子类在不改变算法结构的情况下,重新定义算法中的某些步骤。它通过继承机制,实现代码复用和行为…...
北京丰台人和中医院,收费贵吗?
北京丰台人和中医院,收费贵吗? 北京丰台人和中医院属于平价医院,百姓医院,收费不贵,北京丰台人和中医院35年专业看肝病,之所以能够在肝病感染者中赢得广泛好评,离不开其严谨的医疗流程、专业的…...
21、魔法传送阵——React 19 文件上传优化
一、魔法传送阵的核心法则 1.量子切割术(分片上传) const sliceFile (file) > {const chunks [];let start 0;const CHUNK_SIZE 2 * 1024 * 1024; // 2MB分片while (start < file.size) {chunks.push({id: ${file.name}-${start},data: file.s…...
Windows命令行软件管理器:Chocolatey
文章目录 Windows命令行软件管理器:Chocolatey1.Chocolatey使用1.1 安装1.2 常用命令1.3 使用流程 2.常用shell命令汇总 Windows命令行软件管理器:Chocolatey Chocolatey 是一款强大的 Windows 命令行软件管理器,目前在 GitHub 上已斩获 10.…...
【MySQL】第二弹——MySQL表的增删改查(CRUD)
文章目录 🎓一. CRUD🎓二. 新增(Create)🎓三. 查询(Rertieve)📖1. 全列查询📖2. 指定列查询📖3. 查询带有表达式📖4. 起别名查询(as )📖 5. 去重查询(distinct)📖6. 排序…...
Windows环境,Python实现对本机处于监听状态的端口,打印出端口,进程ID,程序名称
1、pip install tabulate 2、代码实现 #!/usr/bin/env python # -*- coding: utf-8 -*-""" Windows端口监听程序 显示本机处于监听状态的端口,进程ID和程序名称 """import subprocess import re import os import sys from tabulat…...
什么是变量提升?
变量提升(Hoisting) 是 JavaScript 引擎在代码执行前的一个特殊行为,它会将变量声明和函数声明自动移动到当前作用域的顶部。但需要注意的是,只有声明会被提升,赋值操作不会提升。 核心概念 变量声明提升&…...
Java大师成长计划之第15天:Java线程基础
📢 友情提示: 本文由银河易创AI(https://ai.eaigx.com)平台gpt-4o-mini模型辅助创作完成,旨在提供灵感参考与技术分享,文中关键数据、代码与结论建议通过官方渠道验证。 在现代软件开发中,多线程…...
中小企业设备预测性维护:从技术原理到中讯烛龙实践落地指南
在工业 4.0 与智能制造浪潮的推动下,中小企业正面临设备管理模式的深刻变革。传统的事后维修与预防性维护策略,因缺乏数据驱动与智能决策能力,已难以满足企业降本增效的核心诉求。据 Gartner 统计,非计划停机导致的生产损失平均每…...
mysql 复习
mysql定义与架构 数据库是按照数据结构来组织、存储和管理数据的仓库,方便我们增删查改。MySQL有客户端和服务器端,基于网络服务的,3306端口处于监听状态。 数据库的存储介质有以下两种: 磁盘,比如MySQL就是一种磁盘…...
高低比率策略
本策略的核心在于运用技术指标结合基本规则进行交易决策,旨在通过高低比率策略捕捉市场的超买和超卖信号,以此指导交易行为。 一、交易逻辑思路 1. 指标计算: - 本策略首先通过EMA(指数移动平均)计算快线和慢线的值&am…...
python线上学习进度报告
一、mooc学习 二、python123学习...
深入剖析ThreadLocal:原理、应用与最佳实践
深入剖析ThreadLocal:原理、应用与最佳实践 一、ThreadLocal的本质与价值 1.1 什么是ThreadLocal? ThreadLocal是Java提供的线程本地变量机制,允许每个线程拥有独立的变量副本,实现线程间的数据隔离。它通过“空间换时间”的方式…...
nginx 配置后端健康检查模块
nginx自带的针对后端节点健康检查的功能比较简单,通过默认自带的ngx_http_proxy_module 模块和ngx_http_upstream_module模块中的参数来完成,当后端节点出现故障时,自动切换到健康节点来提供访问。但是nginx不能事先知道后端节点状态是否健康,后端即使有不健康节点,负载均…...