MacOS系统:从Docker Desktop迁移到Colima + 外置硬盘存储

MacOS系统:从Docker Desktop迁移到Colima + 外置硬盘存储实战

    • [一、 为什么这么干?](#一、 为什么这么干?)
      • [1. 为什么要放弃Docker Desktop?](#1. 为什么要放弃Docker Desktop?)
    • [二、彻底告别Docker Desktop](#二、彻底告别Docker Desktop)
      • [1. 先做数据清理](#1. 先做数据清理)
      • [2. 彻底清理(命令行版)](#2. 彻底清理(命令行版))
    • 三、迎接Colima
      • [1. 安装](#1. 安装)
      • [2. 硬盘搬家](#2. 硬盘搬家)
      • [3. 启动新世界](#3. 启动新世界)
    • [四、 验证迁移效果](#四、 验证迁移效果)
      • [1. 状态查看](#1. 状态查看)
      • [2. 日常管理命令](#2. 日常管理命令)
      • [3. 性能调优(可选)](#3. 性能调优(可选))
    • 五、血泪经验总结
      • [1. **硬盘使用规范**](#1. 硬盘使用规范)
      • [2. **空间管理技巧**](#2. 空间管理技巧)
      • [3. **后悔药**](#3. 后悔药)
    • 六、迁移成果

一、 为什么这么干?

1. 为什么要放弃Docker Desktop?

  • 曾经的我一直在Mac上使用Docker搭建开发环境。但我的256G Mac硬盘实在太小了,随着项目增多,镜像、容器不断堆积,最少时候的硬盘空间甚至剩下不到1G ~。

  • Docker Desktop在macOS上其实是偷偷运行着一个Linux虚拟机,所有容器、镜像都会往电脑硬盘上塞,对我这种小硬盘简直分分钟撑爆。

  • 而且虽然有GUI比较方便,但是实在是太耗性能,我的电脑有时候会被卡死~

后来忍无可忍,入手了外接硬盘(江湖人称"尿袋"):阿卡西斯硬盘盒 + 西部数据SN7100 2T固态。电脑被清空的感觉简直不要太爽!!!


二、彻底告别Docker Desktop

1. 先做数据清理

bash 复制代码
# 停止所有容器
docker container stop $(docker container ls -aq)

# 大扫除(谨慎操作!)
docker system prune -a --volumes

2. 彻底清理(命令行版)

bash 复制代码
# 卸载
sudo rm -rf /Applications/Docker.app

# 清理命令行工具
sudo rm -f /usr/local/bin/docker* 
sudo rm -f /usr/local/bin/com.docker.*
sudo rm -f /usr/local/bin/{hub-tool,vpnkit}

# 删除数据
rm -rf ~/.docker
rm -rf ~/Library/{Containers,Application\ Support}/com.docker.*
rm -rf ~/Library/Group\ Containers/group.com.docker

# 清理系统残留
sudo rm -rf /Library/PrivilegedHelperTools/com.docker.*
sudo rm -f /Library/LaunchDaemons/com.docker.*.plist

💡 血泪教训 :卸载前务必备份重要数据!我执行rm -rf前做了:

bash 复制代码
cp -R ~/.docker ~/docker-backup-final

三、迎接Colima

1. 安装

bash 复制代码
# 1. 基础安装
brew update
brew install colima docker docker-compose

# 2. 检查外接硬盘(我的是MacOS_Outside)
diskutil list

# 3. 创建专用存储目录
mkdir -p /Volumes/MacOS_Outside/Colima/colima-data

2. 硬盘搬家

编辑~/.zshrc文件(如果你用bash就改.bash_profile):

bash 复制代码
# 加入这行代码
export LIMA_HOME="/Volumes/MacOS_Outside/Colima/colima-data"

然后让配置生效:

bash 复制代码
source ~/.zshrc

3. 启动新世界

bash 复制代码
# 首次启动(分配60G空间)
colima start --disk 60

# 我的完整配置(供参考)
colima start \
  --cpu 4 \         # 4核CPU
  --memory 6 \      # 6G内存
  --disk 60 \       # 60G硬盘
  --network-address # 开放网络

实际存储的文件:


四、 验证迁移效果

1. 状态查看

bash 复制代码
# 检查状态
colima status

# 测试经典问候
docker run --rm hello-world

# 查看硬盘占用
docker system df

2. 日常管理命令

bash 复制代码
colima stop    # 下班关机
colima start   # 上班启动
colima delete  # 推倒重来

3. 性能调优(可选)

编辑~/.colima/default/colima.yaml

yaml 复制代码
runtime: docker
vmType: vz       # 虚拟化引擎
rosetta: true    # M芯片加速
mountType: virtiofs # 文件传输加速(需macOS13+)

五、血泪经验总结

1. 硬盘使用规范

  • 每次插硬盘→启动Colima

  • 拔硬盘前必做:

    bash 复制代码
    colima stop
    diskutil unmount /Volumes/MacOS_Outside

2. 空间管理技巧

bash 复制代码
# 每月清理
docker system prune -af --volumes

# 查看空间占用情况
du -h /Volumes/MacOS_Outside/Colima | sort -rh | head -10

3. 后悔药

  • 定期备份关键镜像
  • 重要容器数据挂载到外置硬盘

六、迁移成果

现在我的Docker环境完全运行在外置硬盘上,内置硬盘只占用约100MB(配置文件)。再也不用担心堆项目了!

最后忠告:外置硬盘虽然好,但记得定期备份重要数据。强制拔硬盘,早晚要悲剧 😅

相关推荐
猫吃了源码1 天前
k9s简介和安装
linux·docker·kubernetes
云原生指北1 天前
Docker Sandboxes 上手:从安装到第一次跑 Agent
运维·docker·容器
Web Security Loop1 天前
MAC卸载JDK环境
java·macos·jdk
ziyun6668881 天前
Docker 容器化 Web 服务架构搭建与自动化运维项目
运维·docker·架构
骇客野人1 天前
Docker Compose 部署多个独立 Jar 服务完整实操步骤
docker·容器·jar
云川之下1 天前
【k8s】Docker inspect 命令
docker·容器·kubernetes
倔强的石头1062 天前
飞牛OS部署Mtab:Docker搭建自托管书签导航并实现远程访问
运维·docker·容器
生活爱好者!2 天前
居家观影再升级,docker 部署 DecoTV 影音界面
运维·docker·容器
apgk12 天前
基于Canal实现mysql数据同步到消息队列(RabbitMQ/Kafka)详细操作教程
docker·kafka·rabbitmq
fatcoder2 天前
玩转Docker 06 — 容器网络
前端·后端·docker