20
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Docker Desktopの代わりにcolimaでdockerを動かす

Last updated at Posted at 2022-04-30

TL;DR

# インストール
$ brew install colima

# colima VM起動
$ colima start --cpu 8 --memory 12 --disk 100 -v /Volumes/projects:w

# colima環境でdockerを使う
$ docker -v

# dockerコマンドcolimaがマウントしたdocker.sockを利用するように切り替え
$ docker context use colima

# 動作確認
$ docker run hello-world

# colima VM終了
$ colima stop

背景

2022年1月31日からDocker Desktopが大企業での利用に関して有料化された。記事
(中小企業(従業員数が250人未満、年間収益が1,000万ドル未満)、個人利用、教育および非営利のオープンソースのプロジェクトでは今まで通り無料で利用が可能)

しかし、「Docker CLI」や「Docker Compose」などのコンポーネントについても引き続き無料で提供され「Docker Desktop(Docker for Mac等)」のみが今回有料化とのこと。
そのため、大企業勤務で無料で使い続けるためには、Docker Desktopをアンインストールした上で、別の手段を考える必要がある。
今回は、最小限のセットアップでmacOS上にコンテナランタイムを構築することができるcolimaを用いて環境を構築する。

前提条件

homebrewがインストール済みであること

インストール手順

colimaはdockerd相当の部分を担当するため、Docker CLIは別途homebrewでインストールする必要がある。

# Docker CLIのインストール
$ brew install docker

# colimaのインストール
$ brew install colima

使い方

使う前に把握するべきアーキテクチャ

docker for macは内部でHyperkitを使ってlinuxのVMを立ち上げており、dockerdをその中で動かしている。
そのためmacのターミナルからdockerコマンド実行時には、docker for macがこのVMからホストのmacにマウントしているdocker.sockファイルを経由して、VM内のdockerdとコミュニケーションしている。
また、ホストのDiskをVMにもマウントすることで、あたかもホストのMacOS上でdockerが直接動いているようなUXを実現している。
colimaも同様にLinux VMを立ち上げ、docker.sockをマウントするし、デフォルトで/Users/your-user-nameをVMの/Users/your-user-nameにマウントする。
また、インストール後にdocker contextという機能を利用して、dockerコマンドがdocker for macではなくcolimaがマウントしたdocker.sockを利用するように切り替えを行なう。

始め方

まずはcolimaでVMを用意する必要がある。
初回に指定したdiskサイズだけは後から変更ができないため、ある程度余裕を持って設定する方が良い。
その他のCPU, MemoryなどはVM再起動時に設定可能。
また、/Users/your-user-name以外のVolumeがマウントされないため、もしホームディレクトリ以外の場所で作業している場合には、明示的にマウントする必要あり。

defaultは以下の設定、引数をとることで設定を変更できる。

default値
cpu: 2
memory: 2GiB
disk: 60GiB
VM起動コマンド
$ colima start --cpu 8 --memory 12 --disk 100 -v /Volumes/projects:w

追加したいVolumeがなければ-v /Volumes/projects:wは省略可。
この時点で通常通りdocker / docker-composeコマンドが利用できるように。

VMを終了する際は、以下のコマンドで終了できる。

$ colima stop

VM一覧は以下で確認できる。

$ colima list
PROFILE    STATUS     ARCH      CPUS    MEMORY    DISK
default    Stopped    x86_64    8       12GiB     100GiB

また、PCを再起動するとcolima VMも落ちるため、VMの再起動(colima start ${Profile})が再度必要。
その他の機能についてはcolima helpないしcolima help COMMANDを参照。

20
21
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
20
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?