Rancher Desktop - MacOS

Allikas: Imre kasutab arvutit
Redaktsioon seisuga 22. juuli 2026, kell 00:24 kasutajalt Imre (arutelu | kaastöö) (→‎Image moodustamine)
Mine navigeerimisribaleMine otsikasti

Sissejuhatus

TODO

Tööpõhimõte

Väited

  • MacOS XNU kernel ise ei oma selliseid nö isolatsiooni võimeid, mida eeldab nn OCI (open container initiative) moodi workload käitamine
  • MacOS XNU kerneli võimestamiseks kasutatakse automaatselt docker workload käitamisel nö vahel virtuaalset arvutit ja linux kernelit
  • virtuaalset arvutit ja linux kernelit kasutatakse nö loogiliseks teisendamiseks, operatsioonisüsteem linux -> macos, mitte riistvara platvorm x86 -> arm64

Seda nähtust illustreerib

imre@imre-mac ~ % docker run -it ubuntu uname -a
Linux f727300fb889 6.18.36-0-virt #1-Alpine SMP PREEMPT_DYNAMIC 2026-06-20 16:50:52 aarch64 GNU/Linux

imre@imre-mac ~ % docker run -it debian uname -a
Linux 779bb27224d4 6.18.36-0-virt #1-Alpine SMP PREEMPT_DYNAMIC 2026-06-20 16:50:52 aarch64 GNU/Linux

imre@imre-mac ~ % docker run -it fedora uname -a
Linux dae1ddad3271 6.18.36-0-virt #1-Alpine SMP PREEMPT_DYNAMIC 2026-06-20 16:50:52 aarch64 GNU/Linux

kus

  • kõik erinevad linux distributsioonid raporteerivad sama Alpine nimelise kompileerimiskorra arm linux kerneli kasutamist

Joonis (claude.ai tehtud)

20260721-rancher-desktop-macos-01.png

kus

  • Rancher desktop kasutamisel käivitatakse taustal üks Apple Virtualization.framework virtuaalne arvuti
  • virtuaalse arvuti sees töötab operatsioonisüsteem Alpine
  • virtuaalse arvuti sees töötavad docker konteinerid
  • võrgu töötamine on natuke sarnane pssta/pasta lahendusele, st macos host peal töötab limectl protsess ja selle kaudu toimub virtuaalselt arvutist välja pöördumine
  • eemalt sisse pöördumine toimub sõna otses mõttes viisil, et ssh abil pöördutakse macos hostist virtuaalsesse arvutisse (limectl protsessi kaudu), tehakse port forward
  • võimalik on forwardida tcp protokolli põhist liiklust konteineritele (seda ssh forward seadistamist hallatakse automaatselt kui teha nö tavaline 'docker expose'

Paigaldamine

Tarkvara saab kopeerida nt github keskkonnast

20260720-rancher-desktop-macos-01.png

kus

  • TODO

Tavalisel viisil monteerida .dmg

20260720-rancher-desktop-macos-02.png

kus

  • TODO

20260717-rancher-desktop-01.png

kus

  • TODO

20260717-rancher-desktop-02.png

Failisüsteemis asub

/Users/imreoolberg/Library/Application Support/rancher-desktop
/Users/imreoolberg/Library/Preferences/rancher-desktop
/Users/imreoolberg/Library/Logs/rancher-desktop

Kasutamine - docker

TODO

docker jt utiliidid peavad olema path peal

imreoolberg@Imres-MacBook-Air ~ % cat .zshrc
### MANAGED BY RANCHER DESKTOP START (DO NOT EDIT)
export PATH="/Users/imreoolberg/.rd/bin:$PATH"
### MANAGED BY RANCHER DESKTOP END (DO NOT EDIT)

macos peal hostis

imreoolberg@Imres-MacBook-Air ~ % docker run -ti --rm --name ubuntu-imre-01 ubuntu bash
imreoolberg@Imres-MacBook-Air ~ % docker run -ti --rm --name ubuntu-imre-02 ubuntu bash
imreoolberg@Imres-MacBook-Air ~ % docker run -ti --rm --name ubuntu-imre-03 ubuntu bash

# lsof -nP -iTCP -sTCP:LISTEN

ning linux vm docker pidamise arvuti sees

imre@imre-mac ~ % rdctl shell
lima-rancher-desktop:/Users/imre$ sudo -i

lima-rancher-desktop:~# docker version
Client:
 Version:           29.5.2
 API version:       1.54
 Go version:        go1.25.10
 Git commit:        79eb04c7d8e1d73247cb7fe011eecc645063e0f0
 Built:             Sun May 31 13:53:18 2026
 OS/Arch:           linux/arm64
 Context:           default
...

lima-rancher-desktop:~# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED          STATUS          PORTS     NAMES
1be37b403d0d   ubuntu    "bash"    26 minutes ago   Up 26 minutes             ubuntu-imre-03
1662f4905b26   ubuntu    "bash"    26 minutes ago   Up 26 minutes             ubuntu-imre-02
b6dbbc4dae3a   ubuntu    "bash"    27 minutes ago   Up 27 minutes             ubuntu-imre-01

lima-rancher-desktop:~# cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.23.5
PRETTY_NAME="Alpine Linux v3.23"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
BUILD_ID="v0.2.47.rd8"
VARIANT_ID="rd"

lima-rancher-desktop:~# brctl show
bridge name	bridge id		STP enabled	interfaces
docker0		8000.d61e94e66512	no		veth9d3c213
							veth627ad00
							vethbc5522e

lima-rancher-desktop:~# ip route
default via 192.168.5.2 dev eth0 metric 202
default via 192.168.65.1 dev vznat metric 203
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.5.0/24 dev eth0 proto kernel scope link src 192.168.5.15
192.168.65.0/24 dev vznat proto kernel scope link src 192.168.65.2

Image moodustamine

FROM node:22-slim
RUN npm install -g @anthropic-ai/claude-code
WORKDIR /workspace
ENTRYPOINT ["claude"]

moodustamiseks

$ docker build -t claude-code .

Käsurealt käivitamiseks

imreoolberg@Imres-MacBook-Air 20260721 % docker run -it -v $(pwd):/workspace claude-code

docker compose abil käivitamiseks

services:
  claude-code:
    build: .
    volumes:
      - .:/workspace
      - claude-config:/home/node/.claude   # persist auth/session across rebuilds
      - ${SSH_AUTH_SOCK}:/ssh-agent          # optional: forward host ssh-agent
    environment:
      - SSH_AUTH_SOCK=/ssh-agent
    working_dir: /workspace
    stdin_open: true
    tty: true

volumes:
  claude-config:

Kasulikud lisamaterjalid

  • TODO