Mac安装Docker Desktop搭建K8s集群,解决镜像无法下载的问题

使用 Docker Desktop 可以在本地方便地搭建出 K8s 集群,但开启 K8s 集群后往往会遇到 K8s 镜像拉取失败问题,本文旨在解决该问题,从而在本地搭建 K8s 集群。

安装Docker Desktop

安装 Docker Desktop 建议安装历史版本, 不建议安装最新版。因为最新版本的 Docker Desktop 所绑定的 K8s镜像可能在下方的Github项目中还没有及时更新,所以不建议安装最新版本。

截止2024.11.19,笔者安装的 Docker Desktop 版本为 v4.30.0,自带的 K8s 集群版本为v1.29.2,亲测可以安装成功。

Docker Desktop 下载地址:https://docs.docker.com/desktop/release-notes/#4300

修改国内镜像源

安装成功后,修改 Docker Desktop 配置,将镜像源修改为国内镜像。具体做法为点击右上角「设置」 ->「Docker Engine」,粘贴将下方配置,即可将网易源、国科大源等加入镜像源。

plain 复制代码
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com",
    "https://reg-mirror.qiniu.com"
  ]
}

拉取K8s所需镜像

拉取 K8s 所需镜像需要通过 Github 上一个项目实现,该项目中的脚本可以自动安装所需 K8s 镜像,具体做法为:

1、先在 Docker Deskto p 中确定 **K8s **版本,点击 设置 ->kubernetes 即可看到版本。

2、然后去Github项目 https://github.com/AliyunContainerService/k8s-for-docker-desktop 中查看是否有对应版本的分支名,执行git clone -b [版本号] [https://github.com/AliyunContainerService/k8s-for-docker-desktop.git](https://github.com/AliyunContainerService/k8s-for-docker-desktop.git)拉取指定分支。(注意替换命令行中的版本号)

3、随后执行 cd k8s-for-docker-desktop进入项目后,执行./load_images.sh 下载镜像,下载镜像完成后即可进行下一步。

开启K8s

Docker Desktop 中点击 设置 -> kubernetes -> Enable kubernetes即可开启k8s集群。

如果失败后可以卸载掉 Docker desktop 换个版本安装后重新拉取镜像试试,卸载方式为点击 Troubleshoot 按钮,然后点击 Uninstall 卸载。

相关推荐
Damon小智7 小时前
玩转CodeX:CodeX安装教程(Windows+Linux+MacOS)
linux·windows·macos·ai·ai编程·codex·gpt-5
能不能别报错8 小时前
K8s学习笔记(十六) 探针(Probe)
笔记·学习·kubernetes
一水鉴天9 小时前
整体设计 逻辑系统程序 之18 Source 容器(Docker)承载 C/P/D 三式的完整设计与双闭环验证 之2
docker·架构·认知科学·公共逻辑
能不能别报错9 小时前
K8s学习笔记(十四) DaemonSet
笔记·学习·kubernetes
飞快的蜗牛10 小时前
利用linux系统自带的cron 定时备份数据库,不需要写代码了
java·docker
火星MARK10 小时前
k8s面试题
容器·面试·kubernetes
小番茄夫斯基11 小时前
团队效率神器!Mac 下 Homebrew 从入门到精通
macos
香吧香11 小时前
Docker Registry 使用总结
docker
赵渝强老师12 小时前
【赵渝强老师】Docker容器的资源管理机制
linux·docker·容器·kubernetes
haicome13 小时前
deepseek部署
docker·ragflow·deepseek 部署