macOSでDockerを使う場合、多くの人がDocker Desktopを利用していると思います。
ただ、
- 動作がやや重い
- メモリ消費が大きい
- 商用利用のライセンス条件が気になる
- 仕組みがブラックボックスに感じる
といった理由から、別の選択肢を検討しました。
今回は Lima(Linux virtual machines) を使って
Docker Desktopに依存しないDocker環境を構築した手順をまとめます。
Limaとは?
Limaは macOS上でLinux仮想マシンを起動するためのOSSツールです。
Docker用テンプレートを使うと、次のような構成になります。
macOS
↓
Lima(Linux VM)
↓
Docker Engine
↓
Containers
Docker Desktopの代わりに、
自分でLinux VM + Docker Engineを管理するイメージです。
インストール手順
1. Limaのインストール
brew install lima
2. Dockerテンプレートで起動
limactl start template://docker
初回はLinuxイメージのダウンロードが実行されます。
3. Docker CLIをインストール
brew install docker
4. 動作確認
docker version
docker run hello-world
正常に動作すれば完了です。
Docker Desktopとの違い
| 項目 | Docker Desktop | Lima |
|---|---|---|
| GUI | あり | なし |
| ライセンス | 商用条件あり | OSS |
| VM管理 | 内部で自動管理 | 明示的に管理 |
| カスタマイズ性 | 限定的 | 高い |
LimaはGUIを持たず、非常にシンプルです。
その代わり、仮想マシンやDocker Engineを
自分で意識して管理する必要があります。
よくあるハマりポイント
dockerコマンドが接続できない
Docker contextが正しく設定されていない可能性があります。
docker context ls
docker context use lima
VMのメモリが足りない / 多すぎる
Limaの設定ファイルを編集することで調整可能です。
limactl edit
ファイル共有が遅い
マウント設定を見直すことで改善する場合があります。
まとめ
Limaを使うことで、
- Docker Desktopに依存しない構成を作れる
- OSSのみでDocker環境を構築できる
- 実行基盤をシンプルに保てる
というメリットがあります。
一方で、
- GUIがない
- 初期セットアップがやや手動
- チームで統一する場合は説明が必要
といった点もあります。
Docker Desktop以外の選択肢として、
Limaは十分実用的な構成でした。
macOSで軽量なDocker環境を検討している方の参考になれば幸いです。