macOS上(shang)優雅運行Docker容器(qi)
colima
什么是colima
Colima(Container on Lima)是一個輕量級的容器運行時管理工具,專為macOS(同時也支持Linux)設計,提供了一種簡單優雅的方式來運行容器。它基于Lima項目,后者為
macOS提供了類似WSL2的Linux虛擬機環境,具備自動文件共(gong)享和(he)端口轉發等特性。
Colima的主(zhu)要特點包括:
- 支持多種芯片架構 - 完美支持搭載Intel和Apple Silicon芯片的Mac設備,以及Linux系統
- 簡單的命令行界面 - 提供直觀的CLI操作方式,并采用合理的默認配置
- 自動端口轉發 - 智能處理容器端口映射,簡化網絡配置
- 卷掛載支持 - 支持在容器和主機之間共享文件系統
- 多實例管理 - 可以同時運行多個獨立的Colima實例
- 靈活的運行時選擇 - 支持多種容器運行時:
- Docker(可選擇性集成Kubernetes)
- Containerd(可選擇性集成Kubernetes)
- Incus(支持容器和虛擬機)
如何使用colima
- 安裝
- 安裝colima
brew install colima
- 安裝docker-cli
brew install docker
這里(li)我們選(xuan)擇(ze)安(an)裝(zhuang)最(zui)基礎的命令行版本,而不是圖形(xing)化的Docker Desktop
- 安裝Docker Compose以支持容器編排功能
brew install docker-compose
- 啟動Colima
colima start ## 默認配置啟動
colima start --kubernetes ## Kubernetes啟動
colima start --cpu 1 --memory 2 --disk 10 ## 指定配置啟動
colima start --help ## 查看啟動配置
默(mo)認(ren)配置被保存在(zai)~/.colima/_templates/default.yaml
# CPU設置
cpu: 8
# 內存設置(以GiB為單位)
memory: 10
# 磁盤大小(以GiB為單位)
disk: 120
# 運行時選擇:docker, containerd, incus
runtime: docker
# 是否啟用Kubernetes
kubernetes:
enabled: false
# 虛擬機的卷掛載驅動
# virtiofs 僅限于 macOS 和 vmType vz。它是選項中最快的。
mountType: virtiofs
# 為虛擬機指定自定義磁盤鏡像。
# 當未指定時,會從//github.com/abiosoft/colima-core/releases下載適當的磁盤鏡像
# 可以指定自定義磁盤鏡像的文件路徑來覆蓋此行為。
diskImage: "/<thepath>/ubuntu-24.04-minimal-cloudimg-arm64-docker.qcow2"
# 虛擬機類型, vz 是 macOS 虛擬化框架,需要macOS 13及以上版本
vmType: vz
# 使用Rosetta進行amd64模擬(需要Mac M1以上和vmType vz)
rosetta: true
# 為虛擬機啟用嵌套虛擬化(需要Mac M3以上和vmType vz)
nestedVirtualization: false
# docker daemon的配置,即`daemon.json`
# 例如,配置`registry-mirrors`
docker:
registry-mirrors:
- //mirror.xxx.com
- 重啟/停止
colima restart
colima stop
一旦虛擬機成功啟動(dong),Docker命(ming)令(ling)行工(gong)具就會自動(dong)連(lian)接到Colima提供的(de)Docker守(shou)護進(jin)程,此(ci)時我們就可以(yi)在Mac上正(zheng)常使(shi)用所有Docker命(ming)令(ling)了。