Colima 入門:Mac で Docker Desktop 不要でコンテナを動かす

スポンサーリンク

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 composedocker のプラグインとして認識させるには以下を実行します。

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のバージョン確認方法」を参照してください。