colimaは最小限のセットアップでmacOS上にコンテナランタイムを構築することを目標としているプロジェクトです。
このプロジェクトを利用することでlima
+docker
をシンプルな手順でセットアップすることができます。
インストール
homebrewを利用して必要なパッケージをインストールした後にcolimaをインストールします。
# Homebrewのインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# lima、docker、kubectlのインストール
brew install lima docker kubectl
# colimaのインストール
curl -LO https://github.com/abiosoft/colima/releases/download/v0.2.0/colima-amd64
sudo install colima-amd64 /usr/local/bin/colima
# インストールが成功しているかどうかの確認
colima version
# この記事の内容は以下のバージョンを前提としています
# colima version v0.2.0
VMとコンテナの起動
VMとコンテナを起動して、debianからecho 'Hello, World!'
を実行してみます。
# VMの起動
colima start
# コンテナの起動
docker run --rm debian:10 bash -c 'echo Hello, World!'
VMはデフォルトでは以下の設定で起動します。
- cpu: 2
- memory: 2GiB
- disk: 60GiB
以下のようにオプションを指定すると設定を変更して起動することができます。
# cpu: 1
# memory: 2GiB
# disk 10GiB
colima start --cpu 1 --memory 2 --disk 10
Volumeマウントの補足
書き込み可能なVolumeに対するlima
のサポートは実験段階1であるため、デフォルトでは読み取り専用のVolumeとしてマウントされます。
書き込みが必要である場合は、VMの起動時にオプションを付けるようにしましょう。
# VMの起動(with DocumentsディレクトリをVMにマウント)
colima start --mount $HOME/Documents/:w
# 適当な名前の作業用のディレクトリを作成して移動
mkdir $HOME/Documents/colima_volume/
cd $HOME/Documents/colima_volume/
# カレンディレクトリをマウントし、マウントしたディレクトリ内に新たなディレクトリを作成する
docker run --rm --volume "$(pwd):/opt" -it debian:10 bash -c "mkdir /opt/sample_dir"
# カレントディレクトリの情報を取得
ls
# => sample_dirが作成されているはず
VMの停止
# VMの停止
colima stop
# VMの削除
colima delete
-
> https://github.com/abiosoft/colima/blob/305d01fa83e0024738dfd028920cf72858f6a600/README.md#faq
> Colima uses Lima for the VM and Lima's support for writable volumes is still experimental.
> https://github.com/lima-vm/lima/blob/544d15d5af3ff3eb144148a36c17bc8f62f92a9c/pkg/limayaml/default.yaml#L43
> Settingwritable
to true is possible, but untested and dangerous. ↩