如何彻底解决Docker Desktop中Kubernetes无法启动问题
我们时常会遇到Kubernetes启动提示如下报错信息:
{"message":"starting kubernetes: pulling images: pulling from host: pulling tag \"registry.k8s.io/etcd:3.5.16-0\": Error response from daemon: .Log in with your Docker ID or email address.
If you don't have a Docker ID, head over to https://hub.docker.com/ to create one.Using a SOCKS proxy requires a Business Subscription. Learn more at https://www.docker.com/pricing/"}
🔍 问题分析:
Docker设置了 代理(Proxy),而Docker Desktop免费版不允许使用 SOCKS代理。
我的Docker 拉取 Kubernetes 官方镜像(registry.k8s.io/etcd:3.5.16-0)时,通过当前设置的SOCKS代理,导致出现上述报错。
- Docker Desktop免费版不支持使用SOCKS代理。
- Kubernetes镜像默认在国外的镜像仓库中,中国大陆用户默认网络条件难以拉取成功。
🚩 如何彻底解决该问题:
你需要关闭 Docker Desktop 中的SOCKS代理设置,改用国内镜像源手动拉取镜像,从而绕开网络限制,顺利启动 Kubernetes。
✅ 解决步骤:
⚡️ 第一步:关闭 Docker Desktop 的代理设置
- 打开 Docker Desktop → Settings → Resources → Proxies
- 检查并确保所有代理项 (HTTP, HTTPS, SOCKS) 均为空(不使用代理)。
- 点击【Apply & Restart】重启Docker。
🚧 第二步:手动拉取 Kubernetes镜像(从国内镜像源拉取)
打开终端(PowerShell或CMD),复制执行如下命令:
# 设定K8S版本
$K8S_VERSION="v1.32.2"
$ETCD_VERSION="3.5.16-0"
$COREDNS_VERSION="v1.11.1"
$PAUSE_VERSION="3.9"# 从阿里云拉取镜像(速度快、稳定)
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:$K8S_VERSION
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:$K8S_VERSION
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:$K8S_VERSION
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:$K8S_VERSION
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:$PAUSE_VERSION
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:$ETCD_VERSION
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:$COREDNS_VERSION
🚀 第三步:对拉取的镜像重新打Tag(非常关键)
在终端执行以下命令:
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:$K8S_VERSION registry.k8s.io/kube-apiserver:$K8S_VERSIONdocker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:$K8S_VERSION registry.k8s.io/kube-controller-manager:$K8S_VERSIONdocker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:$K8S_VERSION registry.k8s.io/kube-scheduler:$K8S_VERSIONdocker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:$K8S_VERSION registry.k8s.io/kube-proxy:$K8S_VERSIONdocker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:$PAUSE_VERSION registry.k8s.io/pause:$PAUSE_VERSIONdocker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:$ETCD_VERSION registry.k8s.io/etcd:$ETCD_VERSIONdocker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:$COREDNS_VERSION registry.k8s.io/coredns/coredns:$COREDNS_VERSION
这样 Docker Desktop 在启动 Kubernetes 时,就不会再去国外拉取镜像,而是直接使用本地已经拉取的镜像。
🔄 第四步:重启 Kubernetes 集群
在Docker Desktop界面:
- 进入 Settings → Kubernetes。
- 点击 【Reset Cluster】 重置Kubernetes集群。
- 确认后,Docker Desktop将使用本地已存在的镜像迅速完成Kubernetes集群的启动。
🎯 第五步:验证 Kubernetes 是否正常启动
终端执行:
kubectl get nodes
正常情况下,将输出类似:
NAME STATUS ROLES AGE VERSION
docker-desktop Ready control-plane 1m v1.32.2
📌 核心问题总结:
- 问题根本原因是Docker Desktop 免费版不支持使用SOCKS代理。
- 解决方案为关闭代理并手动拉取镜像。
- 国内网络条件下,请务必使用阿里云等国内镜像拉取Kubernetes镜像。
- 手动拉取镜像后,通过
docker tag命令替换默认镜像名,即可快速解决此问题。
相关文章:
如何彻底解决Docker Desktop中Kubernetes无法启动问题
我们时常会遇到Kubernetes启动提示如下报错信息: {"message":"starting kubernetes: pulling images: pulling from host: pulling tag \"registry.k8s.io/etcd:3.5.16-0\": Error response from daemon: .Log in with your Docker ID or…...
aws(学习笔记第三十四课) dockerized-app with asg-alb
aws(学习笔记第三十四课) dockerized-app with asg-alb 使用cdk生成dockerized-app并使用AutoScalingGroup和ApplicationLoaderBalancer 学习内容: 使用cdk生成dockerized-app并使用AutoScalingGroup和ApplicationLoaderBalancer在AutoScalingGroup中使用efs以及R…...
嵌入式c学习七
c语言指针:程序需要载入内存中运行,在32bit系统中内存地址的范围是:0x0000 0000-0xFFFF FFFF,内存大小为4GB,内存地址指的是内存单元的编号是固定的,本身就是一个整数,对于32bit系统,…...
Selenium Web UI自动化测试:从入门到实战
引言 在当今快速迭代的软件开发周期中,自动化测试已成为保障产品质量、提升测试效率的核心手段之一。而针对Web应用的UI自动化测试,Selenium作为最流行的开源工具之一,凭借其跨浏览器、多语言支持(Python、Java、C#等)…...
【实战指南】用MongoDB存储文档和图片等大文件(Java实现)
一、前言 在现代应用开发中,经常需要处理和存储大量的文档、图片等大文件。传统的关系型数据库在处理这类大文件时,往往会面临性能瓶颈、存储成本高等问题。而 MongoDB 作为一款流行的 NoSQL 数据库,提供了 GridFS 规范,能够很好地解决大文件存储的问题。GridFS 可以将大文…...
Jetpack Compose 显示时间
Jetpack Compose 显示时间 介绍主体代码使用 介绍 在软件中实时显示时间 主体代码 import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStat…...
vue3中,通过获取路由上的token直接进入首页,跳过登录页面
1.需求 A系统想快速进入到B系统,但又不想输入账号密码,A系统的token与B系统共用token,因此在访问B系统就会在路径上携带token(https://magictool-box.com/login?token《token》),通过token直接进入B系统首…...
软考通关利器:中级软件设计师结构化开发核心考点
简介: 作为国家软考中级认证的核心科目,“软件设计师” 结构化开发能力是职业进阶的黄金敲门砖。本模块聚焦考试大纲高频考点,深度解析需求建模、结构化分析方法(SA/SD)、模块设计原则、数据流图(DFD&#…...
[思考记录]两则:宏观视角、理想化
#宏观视角# 昨天听金老师讲解了他初步整理的大模型宏观概念关系图,受益不少。图上不仅是涵盖了诸多概念,更厉害的应该在于把概念之间的关系进行了描述,更直观展现了概念是如何与其他概念相互作用的。帮助从整体的角度去理解,以及透…...
MySQL 性能优化方向
MySQL 性能优化是一个系统性的工作,涉及数据库设计、查询优化、索引优化、硬件配置等多个方面。以下是 MySQL 性能优化的主要方向和具体优化方案: 一、数据库设计优化 1. 合理设计表结构 规范化设计:避免数据冗余,确保数据一致性。适度反规范化:在查询频繁的场景下,适当…...
3-22 vector的使用详解---STL C++
C中的vector容器展开系统讲解,具体内容如下: 1. vector的定义和特性(基础概念) 讲解vector作为动态数组的核心特性:自动内存管理、动态扩容机制(倍增策略)对比普通数组:支持随机访…...
Collectors.toList / list 转 list
前言 略 Collectors.toList List<User> userList ...; List<Long> userIdList userList.stream().map(User::getUserId).collect(Collectors.toList());...
uniapp 和 webview 之间的通信
1.背景 应用使用了uniapp开发跨端应用,在uniapp中内嵌webview页面实现页面热更新效果,不需要用户单独重新安装软件即可实现页面的版本更新。 2.webview通知uniapp 在开发过程中我们难会遇到需要uniapp和webview来实现数据通信的场景,接下来…...
【Linux】Hadoop-3.4.1的伪分布式集群的初步配置
配置步骤 一、检查环境 JDK # 目前还是 JDK8 最适合 Hadoop java -version echo $JAVA_HOME Hadoop hadoop version echo $HADOOP_HOME 二、配置SSH免密登录 Hadoop需要通过SSH管理节点(即使在伪分布式模式下) sudo apt install openssh-server …...
【Java】深入了解下Java Bitset
【Java】深入了解下Java Bitset 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战 目录 【Java】深入了解下Java Bitset引言如果Java Bitset不是布尔数组,那它是什么…...
Linux CentOS7 安装 ffmpeg教程
官网:FFmpeg 操作 先用uname -a 查看内核版本,如果是 3.2.0或者以上就可以按照此办法来安装 cd /tmp wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz# 2. 解压 tar xvf ffmpeg-release-amd64-static.tar.xz# 3. 将…...
楼宇自控系统的结构密码:总线与分布式结构方式的差异与应用
在现代建筑中,为了实现高效、智能的管理,楼宇自控系统变得越来越重要。它就像建筑的 智能管家,可自动控制照明、空调、通风等各种机电设备,让建筑运行更顺畅,还能节省能源成本。而在楼宇自控系统里,有两种关…...
Fourier-Lerobot——把斯坦福人形动作策略iDP3封装进了Lerobot(含我司七月人形研发落地实践)
前言 近期在抠lerobot源码时,看到其封装了ALOHA ACT、diffusion policy、π0时,我就在想,lerobot其实可以再封装下idp3 我甚至考虑是否从我联合带的那十几个具身研究生中选几个同学做下这事,对他们也是很好的历练然当25年3.18日…...
系统架构设计知识体系总结
1.技术选型 1.什么是技术选型? 技术选型是指评估和选择在项目或系统开发中使用的最合适的技术和工具的过程。这涉及考虑基于其能力、特性、与项目需求的兼容性、可扩展性、性能、维护和其他因素的各种可用选项。技术选型的目标是确定与项目目标相符合、能够有效解…...
计划管理工具应该具备的能(甘特图)
在当今快节奏的项目管理环境中,高效地规划和跟踪项目进度是至关重要的。甘特图,作为项目管理领域的经典工具,以其直观的时间轴和任务分配方式,深受项目管理者的青睐。 随着数字化时代的到来,甘特图线上编辑器应运而生&…...
简单实用!百度AI + Raphael AI = 免费生图
简单实用!百度AI Raphael AI 免费生图 --  第一步:下载或截取一些好看的图片当参考图片 第二步:用百度AI描述你想要的图片&…...
2 相交链表
1 常规思路 比较两个链表的长度,然后让较短的链表走二者长度之差,此时两个链表就一样长了,开始用双指针遍历,如果有相等返回,没有返回null; 为了减少冗余代码,我们设置一个minCur和maxCur分别…...
2025-03-22 学习记录--C/C++-C 库函数 - getchar()
C 库函数 - getchar() ⭐️ C 标准库 - <stdio.h> (一)、函数声明 🍭 int getchar(void)从标准输入 stdin 获取一个字符(一个无符号字符)。 参数:🎀 NA 返回值:Ἰ…...
APM 仿真遥控指南
地面站开发了一段时间了,由于没有硬件,所以一直在 APM 模拟器中验证。我们已经实现了 MAVLink 消息接收和解析,显示无人机状态,给无人机发送消息,实现一键起飞,飞往指定地点,降落,返…...
如何防止大语言模型生成有害内容?技术与非技术手段解析
目录 如何防止大语言模型生成有害内容?技术与非技术手段解析 1. 技术手段 方法 1:使用内容过滤(Content Filtering) 方法 2:基于模型的有害内容检测(Toxicity Classification) 方法 3&#…...
BBR 和 CUBIC 对长肥管道的不同反应
有个关于 CUBIC(等一众 AIMD-based cc) 和 BBR 在长肥管道中的行为比较挺有趣,它们的表现竟然截然相反: CUBIC 流共存,RTT 越大,Goodput 越低;BBR 流共存,RTT 越大,Goodput 越高。 前一个被看…...
架构师面试(十九):IM 架构
问题 IM 系统从架构模式上包括 【介绍人模式】和 【代理人模式】。介绍人模式也叫直连模式,消息收发不需要服务端的参与,即客户端之间直连的方式;代理人模式也叫中转模式,消息收发需要服务端进行中转。 下面关于这两类模式描述的…...
Spring框架入门指南:从Hello World到IOC容器
第一章:Spring框架的介绍 1. Spring框架的概述 Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。 Spring是于2003 年兴起的一个轻量级的Java开发框架&…...
嵌入式电路设计软件个人安装步骤分享
各位小伙伴大家好,今天给大家分享一个,电路设计软件的安装方法,希望对大家有所帮助。 一、下载【Multisim14.0安装包】: 链接:夸克网盘分享 提取码:kHSP 电脑安装Multisim14.0并且汉化 准备安装包以及汉化包双击“NI_Circuit_Design_Suite_14_0【海量免费资源:kebaiwan…...
git | 回退版本 并保存当前修改到stash,在进行整合。[git checkout | git stash 等方法 ]
目录 一些常见命令: git 回退版本 一、临时回退(不会修改历史,可随时回到当前版本) 方法1:git checkout HEAD~1 二、永久回退(改变分支指向) 方法2:git reset 1. 保留修改&am…...
