生の lima だとビルドできないプロジェクトが存在しており (/
が書き込み不可とかそういう系のやつ、回避する設定が結局わからなかった)、 RancherDesktop に移行したら解決したんだけど、移行時に詰まった点を書いておくなど。
docker.sock の参照先が lima 時代のままで Cannot connect to the Docker daemon at ... と言われる
自分の環境だと以下のような感じ。
❯ docker ps Cannot connect to the Docker daemon at unix:///Users/donbulinux/.lima/docker_x86_64/sock/docker.sock. Is the docker daemon running?
ENV が更新されてないのかと思って source
で再読み込みとか再起動したりしたけど解決されず悩んでいたんだけど、なんのことはなく環境変数に指定が残っている、という状態だった。
# lima to Docker export DOCKER_HOST="unix:///Users/donbulinux/.lima/docker_x86_64/sock/docker.sock"
zsh にして prezto とか入れてから、読み込まれるファイルが複数存在して見通しが悪いのでなんとかならないかな、と思いつつなんともしていないのであった。
(.zsh_profile
と .zshrc
だけ見ていたのが敗因だった)
dip provision (docker build) で permission denied になる
こんな感じ。
❯ dip provision open /Users/donbulinux/.rd/docker.sock: permission denied
前述した socket の参照先問題は解決していて、 RancherDesktop の GUI でも動作しているし、 docker ps
などすると一覧も参照できるのでプロセスも生きている。
で、なんでだろう、と思ったのだけどこれも似たような先人が居たのだった。
ビルド時に buildx 使われるのがよくないらしく、環境変数で利用しないよう指定する事で回避できるとの事だったのでやってみる。
# RANCHER DESKTOP (disable DockerDesktop) DOCKER_BUILDKIT=0
コレデヨイ。
追記: DockerDesktop で大丈夫な間はその方がいい
Docker 社の動向が分からなくて「環境更新のついでだから」と lima 系に移行したけど、正直なトコ、課金される事業規模でなければ DockerDesktop 使っておくのが面倒がない気がしている。
いやまあなんらかのリスク、というヤツを考えたら DockerDesktop やめたくなるのは理解できるし、僕もそうだったので……。