Rancher Desktop - MacOS: erinevus redaktsioonide vahel

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
325. rida: 325. rida:
   
 
Tulemusena eemaldataks konteiner.
 
Tulemusena eemaldataks konteiner.
  +
  +
====Tarkvara uuendamine====
  +
  +
Uuendamiseks tuleks kusutada senine claude-code tõmmis ja moodustada uuesti.
   
 
===Kasulikud lisamaterjalid===
 
===Kasulikud lisamaterjalid===

Redaktsioon: 22. juuli 2026, kell 13:17

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

Claude Code kasutamine konteineris

Väited

  • Claude Code kasutamine nö käsurea rakendusena annab otsekohesema positsiooni nt claude abil arvutitega tegelemiseks üle võrgu
  • Claude Code kasutamine konteinerist tekitab selgema piiri töökohaarvuti ja claude tegevuste vahel (nt on väga selgesti kontrollitud mis osadele saab töökohaarvuti failisüsteemile juurde

Ettevalmistused operatsioonisüsteemis

Ettevalmistused MacOS keskkonnas, tühjad kataloogid

/Users/imreoolberg/cc/dc
/Users/imreoolberg/cc/volume/workspace
/Users/imreoolberg/cc/volume/root

Tõmmise moodustamine

Osutub, et ei ole nö usaldusväärset valmis claude-code docker tõmmist, st tuleb Dockerfile abiga ise tekitada

imreoolberg@Imres-MacBook-Air dc % cat Dockerfile
FROM node:22-slim

RUN apt-get update && \
  DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
  less \
  git \
  procps \
  sudo \
  fzf \
  zsh \
  man-db \
  unzip \
  gnupg2 \
  gh \
  iptables \
  ipset \
  iproute2 \
  dnsutils \
  aggregate \
  jq \
  nano \
  vim \
  openssh-client \
  ripgrep \
  bash \
  && apt-get clean && rm -rf /var/lib/apt/lists/*

RUN npm install -g @anthropic-ai/claude-code
WORKDIR /workspace
ENTRYPOINT ["claude"]

kus

  • alusena kasutatakse ausat node tõmmist (2026 suvel on see debian v. 12 põhine)
  • paigaldatakse lisa tarkvara mida on niisama vajadusel hea kaustada või claude protsessil on vaja (nt openssh-client et logida üle võrgu sisse teisse arvutisse)
  • npm abil claude-code kasutamine tegelikult on pigem paketihalduse kui sisuline javascript runtime kasutamine; claude-code on juba kompileeritud-assembleeritud-lingitud jne
  • kirjeldatakse entry point väärtuseks claude rakendus ise (node image enda puhul on selleks programm node)

tõmmise moodustamiseks

$ docker build -t claude-code .

Käivitamine

Käsurealt käivitamiseks (ajutiseks katseks)

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

docker compose abil käivitamiseks

imreoolberg@Imres-MacBook-Air dc % cat docker-compose.yml
name: p_claude-code
services:
  svc_claude-code:
    image: claude-code
    container_name: cn_claude-code
    init: true
    volumes:
      - /Users/imreoolberg/cc/volume/workspace:/workspace
      - /Users/imreoolberg/cc/volume/root:/root

    working_dir: /workspace
    stdin_open: true
    tty: true

    networks:
      - nw_claude-code

networks:
  nw_claude-code:
    name: nw_claude-code
    driver: bridge

ning käivitamine

imreoolberg@Imres-MacBook-Air dc % pwd
/Users/imreoolberg/cc/dc

imreoolberg@Imres-MacBook-Air dc % docker compose run --rm svc_claude-code

Vaatlemine

imreoolberg@Imres-MacBook-Air dc % docker compose ls
NAME                  STATUS              CONFIG FILES
p_claude-code         running(1)          /Users/imreoolberg/cc/dc/docker-compose.yml

imreoolberg@Imres-MacBook-Air dc % docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED          STATUS          PORTS     NAMES
7731d1366371   claude-code         "claude"                 14 minutes ago   Up 14 minutes             p_claude-code-svc_claude-code-run-107960045779

ning

imreoolberg@Imres-MacBook-Air dc % docker compose exec svc_claude-code bash
root@7731d1366371:/workspace# ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 09:40 pts/0    00:00:00 /sbin/docker-init -- claude
root           7       1  2 09:40 pts/0    00:00:15 claude
root         109       7  0 09:51 ?        00:00:00 /usr/bin/zsh -c source /root/.claude/shell-snapshots/snapshot-zsh-1784713826690-ovcwwb.sh 2>/dev/null || true && setopt NO_EXTENDED_GLOB NO_BARE_GLOB_QUAL 2>/dev/null || true && eval 'ssh -o Batch
root         111     109  0 09:51 ?        00:00:00 ssh -o BatchMode=yes -o ConnectTimeout=10 root@192.168.10.52 ping -c 20 8.8.8.8
root         114       0  0 09:52 pts/2    00:00:00 bash
root         121     114  0 09:52 pts/2    00:00:00 ps -ef

kus

  • parasjagu paluti arvutist .52 pingida 8.8.8.8
  • on näha, et docker enda init on pid 1
  • initist tuleb claude protsess
  • claude protsessist tulevad shellid
  • shellist ssh abil sisselogimine teisse arvutisse

Kasutamine

TODO

Kasutamisega on seotud sellised asjaolud, tõenäoliselt on asjakohased ssh võtmed, mille abil saab teistesse arvutitesse sisse logida üle ssh

imreoolberg@Imres-MacBook-Air cc % ls -ld volume/root/.ssh/*
-rw-------  1 imreoolberg  staff  2602 Jul 22 01:09 volume/root/.ssh/id_rsa
-rw-r--r--  1 imreoolberg  staff   571 Jul 22 01:09 volume/root/.ssh/id_rsa.pub
-rw-------  1 imreoolberg  staff  1120 Jul 22 01:23 volume/root/.ssh/known_hosts
-rw-r--r--  1 imreoolberg  staff   142 Jul 22 01:10 volume/root/.ssh/known_hosts.old

Claude seadistused, eriti ligipääs oma isanda juurde internetti (credentials)

imreoolberg@Imres-MacBook-Air cc % ls -ld volume/root/.claude volume/root/.claude.json
drwxr-xr-x  15 imreoolberg  staff    480 Jul 22 13:00 volume/root/.claude
-rw-------   1 imreoolberg  staff  37603 Jul 22 13:00 volume/root/.claude.json

Töö lõpetamine

Claude rakenduses
> quit

Tulemusena eemaldataks konteiner.

Tarkvara uuendamine

Uuendamiseks tuleks kusutada senine claude-code tõmmis ja moodustada uuesti.

Kasulikud lisamaterjalid

  • TODO

Misc

imreoolberg@Imres-MacBook-Air dc % docker compose exec svc_claude-code-t bash
root@a25c68eea52f:/workspace# ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 07:01 pts/0    00:00:00 node
root         456       0  3 08:44 pts/1    00:00:00 claude
root         471       0  0 08:44 pts/2    00:00:00 bash
root         477     471  0 08:44 pts/2    00:00:00 ps -ef