はじめに
DockerDesktopを卒業し、colimaに移行したい。
macからDokcerDesktopを削除するだけでも意外と苦労したので、
作業内容をメモしておく。
DockerDesktopを使用していない人は、
colimaをbrewでインストールする手順から始めてください。
動作環境
- CPU: Apple M1 Max, Apple M3 Pro
- OS: macOS Sonoma
手順概要
- DockerDesktopのアプリケーションを削除
- 自分が使っているターミナルにフルアクセスの権限付与
- sudoコマンドで各種ファイルを削除する
- colimaをbrewでinstall
- docker compose コマンドが通るように設定
- buildxをbrewでinstall
- buildxが使えるように設定
finderでアプリ削除
DockerDesktopが起動中の場合はまず停止させQuitした後、
finder
> アプリケーション
からDockerを右クリックしてゴミ箱に移動
で削除してください。
フルアクセスの設定
システム環境設定から、
システム環境設定
> プライバシーとセキュリティ
> フルディスクアクセス
で
ターミナルにフルディスクアクセスの権限を与える
以下のサイトを参考に各ファイルを削除
sudo rm -rf ~/.docker
sudo rm -rf ~/Library/Containers/com.docker.docker
sudo rm -rf ~/Library/Group\ Containers/group.com.docker
sudo rm -rf ~/Library/Caches/com.docker.docker
sudo rm -rf /Library/PrivilegedHelperTools/com.docker.vmnetd
sudo rm -rf /Library/LaunchDaemons/com.docker.vmnetd.plist
sudo rm -rf /usr/local/lib/docker
sudo rm -rf ~/Library/Application\ Support/Docker\ Desktop
sudo rm -rf ~/Library/Preferences/com.docker.docker.plist
sudo rm -rf ~/Library/Saved\ Application\ State/com.electron.docker-frontend.savedState
sudo rm -rf ~/Library/Group\ Containers/group.com.docker
sudo rm -rf ~/Library/Logs/Docker\ Desktop
sudo rm -rf ~/Library/Preferences/com.electron.docker-frontend.plist
sudo rm -rf ~/Library/Cookies/com.docker.docker.binarycookies
この操作が終わったら、
ターミナルのフルアクセス権限を解除することをお勧めします。
colimaをbrewでインストール
公式のGithubは下記のリンク参照。
homebrewを使ってインストールするのが楽。
# Homebrew
brew install colima docker docker-compose
インストールが全部終わるまでに5~10分ぐらいかかった。
ここまでインストールができると、docker-compose
コマンドが使えるようになります。
が、v2 の docker compose
コマンドが使いたいのでもう少し設定を行います。
docker compose コマンドが通るように設定
どうやら、インストールのタイミングで注意書きが出ていたみたいですが、
Docker compose は Docker plugin として扱われるため、シンボリックリンクを追加する必要があります。
(後ほど出てくるbuildxも似たことをする必要あり)
mkdir -p ~/.docker/cli-plugins
ln -sfn /opt/homebrew/opt/docker-compose/bin/docker-compose ~/.docker/cli-plugins/docker-compose
docker compose version
最後のdocker compose versionでversionが表示されればOKです〜👍
buildxを導入する
DockerDesktopの場合、ダウンロードするタイミングで自動的にbuildxも導入されますが、
colimaはそうでは無いので自分でbuildxを入れる必要があります。
もし、buildxを導入せずに使っていると、
docker image build ~
のコマンドを打つタイミングでbuildxを導入セヨと警告されます💦
(↓こんな警告メッセージ)
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
Install the buildx component to build images with BuildKit:
https://docs.docker.com/go/buildx/
導入手順は公式のドキュメントに記載されています。
colima F&Q リンク先
(↓抜粋)
brew install docker-buildx
# Follow the caveats mentioned in the install instructions:
# mkdir -p ~/.docker/cli-plugins
# ln -sfn $(which docker-buildx) ~/.docker/cli-plugins/docker-buildx
docker buildx version # verify installation
まず、
brew install docker-buildx
でbuildxをインストールします。
次に、
ln -sfn $(which docker-buildx) ~/.docker/cli-plugins/docker-buildx
でシンボリックリンクを追加します。
インストールできたかを確認するには、
docker buildx version
を打ってください。
github.com/docker/buildx v0.14.1 Homebrew
とか出てくるはずです。
しれっと、mkdir -p ~
のコマンドをスルーしていますが、docker compose
を使えるようにしたタイミングで、すでにディレクトリを作成済みなのでスキップしています。
お疲れ様でした。使ってみましょう。
colimaを起動してDockerデーモンが動く状態を作る。
colima start
初めての起動はちょっと時間がかかります。
以下の画像のようにDoneが表示されたら無事に起動しています。
自分のプロダクトでdockerを動かしてみる。
# ご自身のプロダクト、任意のcdで
docker compose up
ここまでの設定が正しくできていれば起動するはずです。
(余談)colimaを使う際の注意点
colima startをするときに、CPU, メモリ, ストレージの最大値を設定することができます。
例として、1 CPU, 2GiB memory, 10GiB storageの設定の場合はこう。
colima start --cpu 1 --memory 2 --disk 10
先人の使用感を聞くところによると、たまにcolimaはだんまりでスネながら停止してることが…。
そんなときは、慌てず再起移動だ。
ということで、
colima stop
colima delete
colima start
を順番に実行すれば良き。
delete までする必要があるのか?は個人的に少し検証が必要ですが、
確実に…という事でこのようなことをしています。
makefileとかを作成して、
make colima restart
とかをcolima stop
~ colima start
にあてがったらほんのちょっとだけ楽になる…かも。