Colima 入門:Mac で Docker Desktop 不要でコンテナを動かす
なぜ Docker Desktop が使えないのか
2022年以降、Docker Desktop は従業員250名以上または年収1000万ドル以上の企業では有償になりました。個人利用・小規模チームは無料のままですが、ライセンス上の問題で社内での使用を禁止している企業もあります。
そこで使われるのが Colima です。Docker Desktop を使わずに、Mac 上で docker コマンドと docker compose をそのまま動かせる Docker Desktop alternative です。
Colima とは
Colima(Container Linux on Mac)は、Lima という仮想マシン上に Linux 環境を構築し、その中でコンテナランタイムを動かすOSSです。
Docker Desktop の代わりに Colima を起動すれば、docker コマンドも docker compose もそのまま同じように使えます。 Docker Desktop を使っていたときと操作は変わらず、colima start で起動するだけで既存のスクリプトや compose ファイルがそのまま動きます。
- Docker Desktop 不要で
dockerコマンドがそのまま使える - Apple Silicon(M1/M2/M3)対応
- 設定ファイルでCPU・メモリ・ディスクを管理できる
- 無料・オープンソース(MIT ライセンス)
インストール
Homebrew でインストールします。
# Colima 本体 brew install colima # docker CLI(Docker Desktop を入れていない場合) brew install docker # docker compose プラグイン brew install docker-compose
docker compose を docker のプラグインとして認識させるには以下を実行します。
mkdir -p ~/.docker/cli-plugins ln -sfn $(brew --prefix)/opt/docker-compose/bin/docker-compose ~/.docker/cli-plugins/docker-compose
起動・停止
起動
colima start
初回は Lima VM のイメージをダウンロードするため数分かかります。
状態確認
colima status
INFO[0000] colima is running using QEMU INFO[0000] arch: aarch64 INFO[0000] runtime: docker INFO[0000] mountType: sshfs INFO[0000] socket: unix:///Users/yourname/.colima/default/docker.sock
停止
colima stop
削除(VMを完全に削除する)
colima delete
リソースの指定
デフォルトは CPU 2コア・メモリ 2GB・ディスク 60GB です。起動時に変更できます。
# CPU 4コア・メモリ 8GB・ディスク 100GB で起動 colima start --cpu 4 --memory 8 --disk 100
| オプション | デフォルト | 説明 |
|---|---|---|
--cpu |
2 | CPUコア数 |
--memory |
2 | メモリ(GB) |
--disk |
60 | ディスクサイズ(GB) |
--arch |
ホストと同じ | x86_64 / aarch64 |
--runtime |
docker | docker / containerd |
設定ファイルで永続化
毎回オプションを指定するのが面倒な場合は設定ファイルを編集します。
colima start --edit
エディタが開くので変更して保存します。
cpu: 4 memory: 8 disk: 100 mounts: []
次回から colima start だけで同じ設定で起動します。
設定ファイルは ~/.colima/default/colima.yaml に保存されます。
colima docker compose の使い方
Colima が起動した状態で docker コマンドと docker compose がそのまま使えます。
# バージョン確認 docker version # 動作確認(Hello World) docker run --rm hello-world # イメージ一覧 docker images # 起動中のコンテナ一覧 docker ps
docker compose
# compose.yaml があるディレクトリで docker compose up -d docker compose ps docker compose logs -f docker compose down
Colima を M1/M2/M3 Mac(Apple Silicon arm)で使う
Colima は Apple Silicon(arm)搭載の M1/M2/M3 Mac に対応しています。ARM ネイティブで動作するため、Intel Mac と同じコマンドでそのまま使えます。
ARM Mac でも x86_64 向けのイメージを動かしたい場合は、x86_64 モードで起動します。
colima start --arch x86_64 --vm-type qemu
通常より動作が遅くなります(エミュレーション動作のため)。
複数プロファイルの使い分け
用途ごとに異なる設定を使い分けられます。
# "work" というプロファイルで起動 colima start --profile work --cpu 4 --memory 8 # "dev" というプロファイルで起動 colima start --profile dev --cpu 2 --memory 4 # プロファイルを指定して停止 colima stop --profile work
よくあるトラブル
docker コマンドが「Cannot connect to the Docker daemon」になる
Colima が起動していません。
colima start
起動後に docker が見つからない
docker CLI が未インストールの場合があります。
brew install docker
ボリュームマウントが遅い(sshfs)
デフォルトのマウント方式(sshfs)は遅い場合があります。virtiofs に変更すると高速化できます(macOS Ventura 以降推奨)。
colima start --mount-type virtiofs
M1/M2 Mac でイメージが no matching manifest になる
ARM 対応のイメージが存在しない場合です。--platform linux/amd64 を指定するか、x86_64 プロファイルを使います。
docker run --platform linux/amd64 --rm ubuntu:22.04 uname -m
Rancher Desktop との比較
Docker Desktop の代替として Rancher Desktop も選択肢です。
| 項目 | Colima | Rancher Desktop |
|---|---|---|
| GUI | なし(CLI のみ) | あり |
| インストール | Homebrew | DMGインストーラ |
| docker compose | 別途インストール | 同梱 |
| Kubernetes | 別途設定 | 同梱(k3s) |
| ライセンス | MIT | Apache 2.0 |
| 向いている人 | CLI 派・シンプルに使いたい | GUI 派・Kubernetes も使いたい |
CLI だけで完結したい場合は Colima、GUI や Kubernetes が欲しい場合は Rancher Desktop を選ぶとよいでしょう。
まとめ
| コマンド | 説明 |
|---|---|
colima start |
Colima(VM)を起動 |
colima stop |
Colima を停止 |
colima status |
状態確認 |
colima start --cpu 4 --memory 8 |
リソースを指定して起動 |
colima start --profile work |
プロファイルを指定して起動 |
colima start --edit |
設定ファイルを編集して起動 |
Docker Desktop の代替として Colima を使えば、ライセンス問題なく Mac 上でコンテナ開発を続けられます。docker コマンドはそのまま使えるため、既存のスクリプトや compose ファイルの変更は不要です。
Apple Container との比較
2025年に Apple が公開した Apple Container も macOS 向けのコンテナ実行環境です。Colima との違いは以下の通りです。
| 項目 | Colima | Apple Container |
|---|---|---|
| CLI コマンド | docker / docker compose |
container |
| Docker 互換 | あり(既存スクリプトそのまま動く) | なし |
| docker compose | 使える | 使えない |
| ソケット | ~/.colima/default/docker.sock |
Mach Services(独自 API) |
| 仮想化 | Lima(Apple VZ / QEMU) | Apple Virtualization.framework |
| 同時起動 | 可能(ソケット競合なし・実機確認済み) | 可能(ソケット競合なし・実機確認済み) |
どちらを選ぶか:
- 既存の docker / docker compose ワークフローを維持したい → Colima
- docker 互換は不要でシンプルにコンテナを動かしたい → Apple Container
Colima と Apple Container はソケット競合がなく共存できるため、用途に応じて使い分けることも可能です。
Apple Container の使い方は「Apple Container 入門:brew install container から使い方まで」を参照してください。
Dockerのバージョン確認コマンドは「Dockerのバージョン確認方法」を参照してください。