環境
- MacBook Pro 2022 M2
いきさつ
- いつものようにMacを開いたら以下のウィンドウが表示された
- ゴミ箱に一旦入れて戻してみるも戻すたびに上記ダイアログが表示されてdockerが起動できない
- Docker Desktopを勝手にアップデートする設定にしていたのだが今日アップデートされたと思われるDockerアプリのタイムスタンプが未来日付になっておりおそらくこれが原因でウイルス扱いされていると思われる
- 再インストールを試したが同様の現象が再発
- これ以上頑張るよりは直すために頑張るよりは以前からRancher Desktopに移行したいと考えていたのでこれを機に移行することにした
- docker-composeすら使用せずdocker単体で良いのならRancher DesktopをインストールしなくてもLimaを単体でインストールしても動作する(Rancher Desktopは内部でLimaを使用している)
- docker-composeが後から欲しくなったらbrewで別途インストール可能。
おまけ アプリをゴミ箱送りにしても上記ダイアログが何度も出てくる場合
- ゴミ箱の中身を空にするとアラートが止まった。
- ゴミ箱の中身を見てゴミ箱送りにしなきゃ・・・ってアラート出してる?天然さんかな?(#^ω^)ビキビキ
移行してみた所感
- Rancher Desktopの方が起動やビルドに若干時間がかかる
- Rancherの方が速いというネット記事を見かけたが昔の話っぽい
- とは言え微々たる差であり使い勝手はほぼ変わらない
- Docker Desktopのライセンス料を払っているなら移行を検討していいと思う
手順
Docker Desktop for Macの削除
- ApplicationフォルダからDocker.appを削除(今回の場合はMacが勝手に削除済)
- 関連ファイルの削除
rm -rf ~/Library/Containers/com.docker.docker
rm -rf ~/Library/Application\ Support/Docker\ Desktop
rm -rf ~/Library/Group\ Containers/group.com.docker
rm -rf ~/Library/Logs/Docker\ Desktop
rm -rf ~/Library/Preferences/com.docker.docker.plist
rm -rf ~/Library/Saved\ Application\ State/com.electron.docker-frontend.savedState
- 別に残しておいても支障ないが戻るつもりがないなら消してストレージ容量を確保
Rancher Desktopのインストール
- brewからインストール
brew install --cask rancher
- dockerのパスを確認
which docker
- これで
【ルートディレクトリ】/.docker
が含まれるパスが表示されていたらdockerコマンドのシンボリックリンクがdocker desktopのパスのままになっているので以下コマンドでRancher Desktopへ向けてシンボリックリンクを貼りなおすln -sf ~/.rd/bin/docker /opt/homebrew/bin/docker
- Apple siliconマシンの場合。intelマシンの場合はパスが違うらしいので注意
- これで
- mysqlコンテナを開けるようにする
- そのままだとmysqlコンテナを立ち上げようとするとpermission deniedが発生しコンテナが立ち上がらなくなる
- mysqlディレクトリ全体を777許可してもpermission deniedになる
- 解消するために以下作業を行う必要がある
-
~/Library/Application\ Support/rancher-desktop/lima/_config/override.yaml
を作成し、以下内容を保存- 参考にさせていただきました:https://qiita.com/kino15/items/8b3ae44fb3115cb670da
mountType: 9p mounts: - location: "~" 9p: securityModel: mapped-xattr cache: "mmap"
- 参考にさせていただきました:https://qiita.com/kino15/items/8b3ae44fb3115cb670da
-
- そのままだとmysqlコンテナを立ち上げようとするとpermission deniedが発生しコンテナが立ち上がらなくなる
- Rancher Desktopをコマンドのみで開けるようにする
- 完全に好みの問題なので起動する度毎回ウィンドウを閉じるのが苦痛じゃなければこの作業は不要
-
Rancher DesktopのウィンドウからPreferencesを選択
-
ApplicationペインのBehaviorタブにあるStart in the backgroundにチェックを入れる
-
右下のApplyを押下して保存
-
MacツールバーのRancher Desktopのアイコンを右クリックしてQuit Rancher Desktopを押下し一旦閉じる
- アイコンが消えるまでしばらく待つ
-
Rancher Desktopの起動
open -g -a "Rancher Desktop"
- これでRancher Desktopのウィンドウが出てこずにツールバーのアイコンだけ出てきたら成功
-
dockerおよびdocker composeの起動確認
docker info docker-compose --version