💨
[colima] M1 Macでdocker
背景
macにDockerを入れたい。
そのためセットアップツールとしてcolimaを使う
用語の整理
-
colima
さまざまなDocker Runtimeに対応した。コンテナセットアップツール
Docker DesktopのCLI版といったところか。
ただその機能を提供しているのはlimaであり、それにDockerランタイムを加えたただのラッパーである。
デフォルトはDocker+Limaだが、Containerdを使うCLIも提供している。まずは入れてみよう。 -
Docker Runtime
containerdやdocker
コンテナの実行状態を管理する。
最近は汎用のコンテナ管理ツールとして、Dockerのほぼ全てがランタイム上で実現されている。
READMEを参考に使ってみる
brew install colima
colima start
エラーがでた
[hostagent] Waiting for the essential requirement 1 of 5: "ssh"
で検索すると以下の解決策が出てくる。
colima delete
colima start --arch x86_64
同じ箇所でしばらく止まったが、無事実行できた。
docker run hello-world
nerdctlを使う
Docker pullが早いなどメリットあるのでランタイムをnerdctlにする
nerdctlはcontainerdの一部のため、ランタイムの変更が必要だ。
colima nerdctl install
colima delete
colima start --runtime containerd
nerdctl info
nerdctl run hello-world
こっちの方が起動も早い。
dockerコマンドは使えないので、aliasつけて使おう。
alias docker="nerdctl"
2024/3現在、DevContainerやGitHub Codespacesなどではnerdctlだと利用できないオプションを内部で使っているため利用できない。しばらくはdockerを使うことにする。
参考文献
-
https://aligach.net/diary/2022/0501/docker-context-and-host/
contextや.sockに対する理解 -
https://medium.com/nttlabs/docker-to-containerd-4f3a56e6f2b6
用語の整理とコンテナ管理の最近の動向
Discussion