🍖
DockerDesktopを止めてColimaでコンテナを動かす
CLIでどうにかしたい
PCを起動してからコンテナを動かす時に
docker compose up -d
とか
ddev start
とか叩くと
Is the docker daemon running?
Could not connect to a Docker provider. Please start or install a Docker provider.
あーはいはい、DockerDesktop起動してなかった。
Launchpadを開いて、Dockerをクリックして起動するのを待って...
というのがめんどくさくてもう止めたかった。
なにか...なにか無いか...
service dockerd start
的なのは...
Claudeに聞いた
colimaっていうのがあるのねぇ
というかLinuxだったらsystemctl
で直接起動出来るんか...
colimaを入れてみよう
マシンの状態
- DockerDesktop導入済み
- CraftCMSのlocal環境としてddevを導入済み
参考ページ
brew install colima
colima version
- colima version 0.8.0
- git commit: 9c08cff339f087c0600d9d56af7b5fbcfe02e287
colima & ddevを動かす
まずcolimaを起動(VMを作成)
オプションが書かれているパターンが多いけどデフォルトのスペックは
key | value |
---|---|
CPU | 2Core |
メモリ | 2GiB |
ボリューム | 100GiB |
とのことなので一旦デフォルトで
マウントタイプはsshfs
を使わずvirtiofs
を指定
colima start --mount-type virtiofs
colima status
INFO[0000] colima is running using macOS Virtualization.Framework
INFO[0000] arch: x86_64
INFO[0000] runtime: docker
INFO[0000] mountType: virtiofs
INFO[0000] socket: unix:///Users/shin_develop/.colima/default/docker.sock
ddevを開始
ddev start
サイトへアクセス!
出来てない
Craftは動いてるが初期状態(DBセットアップが出来ていない状態)っぽいので
セットアップページ(/?p=admin/install
)を開いてみる
ほらな!
DBがうまく参照出来てないのが原因ぽいので更に探る
DBコンテナの状態を探る
ddev mysql -e "SHOW DATABASES;"
+--------------------+
| Database |
+--------------------+
| db |
| information_schema |
| performance_schema |
+--------------------+
DBはあるっぽいのでmysqlで見てみる
ddev ssh
mysql -u root -proot
use db;
show tables;
Empty set (0.00 sec)
シンプルにインポートしてしまえばいいか...
DockerDesktop経由でDBバックアップを取得
ddev stop
colima stop
DockerDesktopを起動...
ddev start
ddev export-db --file=backup.sql
ここで出力されるのはsqlファイルではなくてgzip圧縮されたファイルだったので
backup.sql.gz
みたいにするのがベター(この後のインポートが出来なくて微ハマりした)
素のsqlファイルとしてエクスポートするなら以下のフラグを付ければOK
ddev export-db --gzip=false --file=backup.sql
これでようやくDockerDesktopを完全に止めてcolimaに移行出来るはず。
colima経由でDBをインポート
colima start --mount-type virtiofs
ddev start
ddev import-db --file=backup.sql
- Successfully imported database 'db' for my-cms
復旧!!
ということでDockerDesktopからcolimaへの移行完了です。
おわり。
Discussion