LoginSignup
18
13

More than 1 year has passed since last update.

colimaでlima+dockerのセットアップを少しシンプルにする

Last updated at Posted at 2021-10-13

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
  1. > 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
    > Setting writable to true is possible, but untested and dangerous.

18
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
13