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 小时前
prometheus+grafana监控系统
docker·grafana·prometheus
测试-鹏哥2 小时前
轻舟已过万重山 - ITP V2.1.0版本成功发布
运维·人工智能·python·测试工具·docker·django
程序员老赵3 小时前
Linux Docker & Docker Compose 一键安装
docker
a_small_problem5 小时前
win+wsl+系统代理环境下 docker pull 问题处理
docker
小镇数字青年5 小时前
MAC spotlight 搜不到应用程序和 tags 生效
macos
追逐时光者7 小时前
一款为程序员和运维人员量身打造的一站式开发运维利器
数据库·docker·ssh
cpuwolf17 小时前
CMake xcode编译器属性设置技巧
ide·macos·xcode
坐吃山猪20 小时前
Docker03-知识点整理
docker
zml_20151 天前
docker 1分钟 快速搭建 redis 哨兵集群
linux·redis·docker·docker-compose
草履虫建模1 天前
若依微服务一键部署(RuoYi-Cloud):Nacos/Redis/MySQL + Gateway + Robot 接入(踩坑与修复全记录)
redis·mysql·docker·微服务·云原生·nacos·持续部署