Closed8

業務用M1 MacのDocker周りをもう一度整備する(Rancher Desktopをいれてみる)

かっつーかっつー
  • 業務用M1 MacのDocker周りの話。
  • 商用利用は無料だとNGなので、Docker Desktopを利用しないでLimaでやってた。
  • 開発中にMacじゃないメンバーだとうまくいくのに、自分だけうまくいかないみたいなことがあった
  • うまくいかない時に、出来る後輩を頼ってたけど、その後輩も巣立ってしまったので、自分でもちゃんと対応できるようにしたい。
    →根本解決にはならないけど、なんかもう少し良くならないかなと思って代替ツールを探して整備してみる
かっつーかっつー

現在インストールしてるLimaを削除
Homebrewで入れてたと思うので、一旦検索

brew list

limaの表記があったので、アンインストール

brew uninstall lima

一旦バイバイLima👋

かっつーかっつー

Rancher Desktopをインストール。
こちらの方の記事を参考に、インストーラでRancher Desktopを入れる。
https://zenn.dev/mt_satak/articles/4d94ac6b75fb9a

インストーラDLは下記公式から。
https://rancherdesktop.io

インストール直後、アプリを起動したら、この画面。

特に上記のまま変更せずOKをクリック。

すると、ダッシュボードのようなものが表示される。

右下に何やらローディングしてる感があるので終わるのをまつ。

ローディングが終わった後、Preferenceボタンをクリック
管理者アクセスのチェックを入れる

メモリとかの設定を変更

これでOKを押すと、次のようなアラートがでる。
いつでも管理者アクセスOKというところで、チェックをつける。

これで

docker info

と打ってdockerの情報がでればOK!とのことだったので、やってみたら、

Client:
 Version:    27.2.1-rd
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.17.1
    Path:     /Users/~~~~~~~~/.docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.29.5
    Path:     /Users/~~~~~~~~/.docker/cli-plugins/docker-compose

Server:
ERROR: Cannot connect to the Docker daemon at unix:///Users/~~~~~~~~/.lima/devContainerArm64/sock/docker.sock. Is the docker daemon running?
errors pretty printing info

あら💦
前にインストールしたlimaの設定が完全に消えてくれてない感じ
というより、limaのインストールした際に入れたdockerとかが悪さしてるのかも...
ちょっと調べてエラーがでないようにする。

かっつーかっつー

.zshrcにlima使う時に記載してたDOCKER_HOSTの値を消して、Mac再起動したらいけた。
(再起動いらなかったかもだけど)

.zshrc
- export DOCKER_HOST=unix:///Users/~~~~~~~~/.lima/default/sock/docker.sock

ということで、docker infoで使える情報でた。

Client:
 Version:    27.2.1-rd
 Context:    rancher-desktop
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.17.1
    Path:     /Users/~~~~/.docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.29.5
    Path:     /Users/~~~~/.docker/cli-plugins/docker-compose

Server:
 Containers: 26
  Running: 11
  Paused: 0
  Stopped: 15
 Images: 9
 Server Version: 26.1.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 3a4de459a68952ffb703bbe7f2290861a75b6b67
 runc version: 2c9f5602f0ba3d9da1c2596322dfc4e156844890
 init version: 
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.6.51-0-virt
 Operating System: Alpine Linux v3.20
 OSType: linux
 Architecture: aarch64
 CPUs: 4
 Total Memory: 7.747GiB
 Name: lima-rancher-desktop
 ID: 5bc0ae63-2370-4198-9056-2c7fd83f4a7b
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

かっつーかっつー

まず、コンソールでRosettaのインストール

/usr/sbin/softwareupdate --install-rosetta --agree-to-license

次に、Rancher Desktopで、QEMUからVZを使うように設定
下記画像のようにする。

そしてVolumesをvirtiofsを使うようにする

これで、コンソールでUbuntuコンテナを作ってps -ef/mnt/lima-rosetta/rosettaがマウントされてればOKとのこと。

root@6c519168761d:/# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  1 04:34 pts/0    00:00:00 /mnt/lima-rosetta/rosetta /bin/b
root         9     1 80 04:34 pts/0    00:00:00 /usr/bin/ps -ef
root@6c519168761d:/# 

なってそう。

動作が早くなりました。

このスクラップは14日前にクローズされました