Mac 轻量安装 Docker 完整指南(Docker + Colima + Kubernetes)

Mac 轻量安装 Docker 完整指南(Docker + Colima + Kubernetes)

在 macOS 上安装 Docker,常见有两种方式:

  1. Docker Desktop(官方 GUI 版本)
  2. Docker CLI + Colima(轻量推荐方案)

如果你:

  • 不想安装体积较大的 Docker Desktop
  • 想节省内存
  • 想更贴近 Linux 原生环境
  • 想本地学习 Kubernetes

那么推荐方案是:

Docker CLI + Colima

下面是一篇完整整理版。


一、为什么选择 Colima?

Docker Desktop 的特点:

  • 占用资源较高(默认 2~4GB 内存)
  • 自带图形界面
  • 集成 Kubernetes
  • 企业环境有授权限制

而 Colima:

  • 更轻量
  • 更接近 Linux 原生
  • 开源
  • 可自由定制资源
  • 支持 Kubernetes

适合开发者长期使用。


二、轻量安装步骤(推荐方式)

1️⃣ 安装 Docker CLI

brew installdocker

这一步只安装:

  • docker 命令
  • docker build
  • docker run
  • docker compose

⚠️ 此时还不能运行容器,因为没有 Docker Engine。


2️⃣ 安装 Colima

brew install colima 

Colima 会:

  • 启动一个轻量 Linux 虚拟机(基于 Lima)
  • 在 VM 内运行 Docker Engine 或 containerd

3️⃣ 启动 Colima

colima start 

默认配置:

  • 2 CPU
  • 2GB 内存
  • 60GB 磁盘

测试是否成功:

dockerps

如果没有报错,说明 Docker Engine 已成功运行。


三、自定义资源配置

如果你需要更多资源:

colima start --cpu 4 --memory 8 --disk 100

含义:

  • 4 核 CPU
  • 8GB 内存
  • 100GB 磁盘

常用命令:

colima status # 查看状态 colima stop # 停止 colima delete # 删除虚拟机

四、开启 Kubernetes 支持

Colima 原生支持 Kubernetes。

启动时开启

colima start --kubernetes 

验证:

kubectl get nodes 

如果看到:

colima Ready 

说明 K8s 已启动成功。


切换 context

kubectl config get-contexts kubectl config use-context colima 

适合场景

  • 本地 Kubernetes 学习
  • Helm 调试
  • 微服务本地开发
  • 模拟生产环境部署

相比 Docker Desktop:

  • 更轻量
  • 更可控
  • 更接近真实 Linux 运行环境

五、Colima 技术架构

整体结构如下:

Docker CLI ↓ Colima ↓ Lima VM ↓ Docker Engine / containerd ↓ Linux Kernel 

说明:

  • macOS 不能直接运行 Linux 容器
  • 必须通过虚拟机运行 Linux 内核
  • Colima 提供轻量 VM 方案

六、containerd 模式(进阶)

默认使用 Docker runtime。

也可以切换为 containerd:

colima start --runtime containerd 

适合:

  • 云原生开发
  • 更贴近 Kubernetes 生产环境
  • 减少 Docker 依赖

七、Docker Desktop vs Colima 对比

方案资源占用K8s 支持灵活度推荐度
Docker Desktop较高支持一般⭐⭐
Docker + Colima较低支持⭐⭐⭐⭐

八、推荐开发者配置

如果你:

  • 做后端开发
  • 学 Linux
  • 学容器
  • 准备学习 Kubernetes

推荐:

brew installdocker brew install colima colima start --cpu 4 --memory 8 --kubernetes 

这是一个长期可用的稳定方案。


九、最终结论

在 macOS 上:

✅ 想轻量:Docker + Colima
✅ 想学习 Kubernetes:Colima 原生支持
✅ 想更贴近 Linux:Colima 更合适

对于长期技术成长来说:

Colima 更适合深入理解容器和 Linux 底层原理。

Read more

Flutter 组件 mock_client 的适配 鸿蒙Harmony 实战 - 驾驭 HTTP 协议级测试模拟、实现鸿蒙端离线环境下的接口断言与质量门禁方案

Flutter 组件 mock_client 的适配 鸿蒙Harmony 实战 - 驾驭 HTTP 协议级测试模拟、实现鸿蒙端离线环境下的接口断言与质量门禁方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 mock_client 的适配 鸿蒙Harmony 实战 - 驾驭 HTTP 协议级测试模拟、实现鸿蒙端离线环境下的接口断言与质量门禁方案 前言 在鸿蒙(OpenHarmony)生态的大型分布式政务办公系统、极繁金融交易内核以及对交互逻辑边界有极致审计要求的各种工业级应用开发中,“测试的确定性”是架构设计的定海神针。面对包含多级鉴权、动态速率限制(Rate Limiting)且环境依赖极重的后端 API。如果仅仅依靠真实的沙箱网络环境进行逻辑验收。那么不仅会导致测试套件由于网络波动引发由于非预期超时导致的频繁“假失败(Flaky Tests)”,更会因为无法模拟极端错误分位(如:服务器 500 时特定的 Payload 反馈)产生严重的代码覆盖率黑洞。 我们需要一种“契约自洽、逻辑伪造”的协议审计艺术。 mock_client(通常作为

By Ne0inhk
Flutter 三方库 system_shortcuts 的鸿蒙化适配指南 - 实现快速触发系统级快捷功能、支持 WiFi 开关、亮度调节与系统设置一键直达

Flutter 三方库 system_shortcuts 的鸿蒙化适配指南 - 实现快速触发系统级快捷功能、支持 WiFi 开关、亮度调节与系统设置一键直达

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 system_shortcuts 的鸿蒙化适配指南 - 实现快速触发系统级快捷功能、支持 WiFi 开关、亮度调节与系统设置一键直达 前言 在进行 Flutter for OpenHarmony 的应用工具开发时,能够快速引导用户跳转到系统设置页面,或直接触发某些系统级快捷功能(如切换静音、调节亮度)是提升交互效率的关键。system_shortcuts 是一个封装了各平台快捷路径的库。本文将探讨如何在鸿蒙系统下利用该库构建极致便捷的系统级操作流。 一、原理解析 / 概念介绍 1.1 基础原理 system_shortcuts 核心是通过平台通道(MethodChannel)调用操作系统的 want(鸿蒙的启动意图)或特定的系统服务接口。它屏蔽了复杂的跳转 URI 拼接,提供了语义化的接口。 封装

By Ne0inhk
Flutter 组件 lyform 适配鸿蒙 HarmonyOS 实战:响应式表单引擎,构建多维校验与状态驱动的交互反馈架构

Flutter 组件 lyform 适配鸿蒙 HarmonyOS 实战:响应式表单引擎,构建多维校验与状态驱动的交互反馈架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 lyform 适配鸿蒙 HarmonyOS 实战:响应式表单引擎,构建多维校验与状态驱动的交互反馈架构 前言 在鸿蒙(OpenHarmony)生态迈向政务办公、智慧医疗及大型企业级管理系统等重定义表单交互的背景下,如何实现高度解耦的表单校验逻辑、提升超长表单的录入效率,已成为决定应用用户体验(UX)的“核心命门”。在鸿蒙设备这类强调分布式协同与流畅性能(Fluidity)的终端上,如果表单逻辑依然堆砌在 UI 层的 setState 之中,由于由于复杂的字段联级校验与高频的视图重绘,极易由于由于主线程阻塞导致虚拟键盘弹出时的严重掉帧。 我们需要一种能够实现逻辑与视图彻底分离、支持基于流(Stream)的状态监控且具备严密规则校验能力的表单治理框架。 lyform 为 Flutter 开发者引入了基于 BLoC 模式的高阶表单管理方案。它将每一个输入字段抽象为独立的 InputBloc,并由 FormBloc 进行全局状态统筹。在适配到

By Ne0inhk
Flutter 三方库 monobank_api 的鸿蒙化适配指南 - 实现极速的银行业务接口对接与账单流水分析、支持端侧金融数据资产管理与安全请求流水化实战

Flutter 三方库 monobank_api 的鸿蒙化适配指南 - 实现极速的银行业务接口对接与账单流水分析、支持端侧金融数据资产管理与安全请求流水化实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 monobank_api 的鸿蒙化适配指南 - 实现极速的银行业务接口对接与账单流水分析、支持端侧金融数据资产管理与安全请求流水化实战 前言 在进行 Flutter for OpenHarmony 的个人财税、金融助手或加密资产管理类应用开发时,如何安全、高效地接入主流银行(如 Monobank)的实时账单与账户信息?monobank_api 是一款专为 Monobank 开放平台设计的 SDK。它通过严密的鉴权机制,实现了从账户结余查询、汇率转换到交易明细获取的全链路封装。本文将探讨如何在鸿蒙端构建极致稳健的金融数据处理架构。 一、原直观解析 / 概念介绍 1.1 基础原理 该库建立在标准化的 RESTful 网络架构之上。它利用了鸿蒙端的网络套接字能力,通过向开发者注入特定的 X-Token 鉴权头,实现了与 Monobank

By Ne0inhk