業務用M1 MacのDocker周りをもう一度整備する(Rancher Desktopをいれてみる)
- 業務用M1 MacのDocker周りの話。
- 商用利用は無料だとNGなので、Docker Desktopを利用しないでLimaでやってた。
- 開発中にMacじゃないメンバーだとうまくいくのに、自分だけうまくいかないみたいなことがあった
- うまくいかない時に、出来る後輩を頼ってたけど、その後輩も巣立ってしまったので、自分でもちゃんと対応できるようにしたい。
→根本解決にはならないけど、なんかもう少し良くならないかなと思って代替ツールを探して整備してみる
どれを使うかの参考として、こちらの方々の記事を参考に進めていく。
Rancher Desktopを調査して使ってみる。
現在インストールしてるLimaを削除
Homebrewで入れてたと思うので、一旦検索
brew list
lima
の表記があったので、アンインストール
brew uninstall lima
一旦バイバイLima👋
Rancher Desktopをインストール。
こちらの方の記事を参考に、インストーラでRancher Desktopを入れる。
インストーラDLは下記公式から。
インストール直後、アプリを起動したら、この画面。
特に上記のまま変更せず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再起動したらいけた。
(再起動いらなかったかもだけど)
- 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
Rancher Desktopは遅い...?ちょっと調べて時間あるときやってみる。
こちらの方の記事を参考にさせていただく。
まず、コンソールで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:/#
なってそう。
動作が早くなりました。
devcontainer内で建てたWebサーバーにうまくアクセスできなかったので、
いろいろ調べてたら、こちらの記事が参考になった。