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 小时前
「iOS」————NSOperation
macos·ios·cocoa
T0uken5 小时前
【Mac】WireGuard:使用 launchd 管理服务
macos·策略模式
LTRchae6 小时前
Docker可用镜像(长期免费)
docker·容器
awei09169 小时前
如何将服务器中的Docker镜像批量导出?
服务器·docker·云原生·容器
DogDaoDao13 小时前
深入理解VideoToolbox:iOS/macOS视频硬编解码实战指南
macos·ios·音视频·实时音视频·视频编解码·videotoolbox·硬编码
稚辉君.MCA_P8_Java15 小时前
k8s中pod如何调度?
docker·容器·kubernetes
Arthurmoo20 小时前
Linux系统之Docker命令与镜像、容器管理
linux·docker·eureka
北极糊的狐1 天前
启动模块服务时报错:docker: Error response from daemon: Conflict.
运维·docker·容器
huan_19931 天前
通过docker构建一个java镜像
java·docker