1.8 KiB
Betrieb ueber br0
Warum hier Macvlan verwendet wird
Du hast vorgegeben, dass der Container ueber deine Bridge br0 laufen soll, wenn Internetzugang benoetigt wird.
Fuer Docker auf Linux ist das sauberste Muster dafuer in der Regel ein externes Macvlan-Netz mit:
- Parent:
br0 - eigenem IP-Bereich fuer Container
- optionaler statischer IP pro Service
Was du in .env anpassen musst
Mindestens:
BR0_PARENT=br0
BR0_SUBNET=192.168.10.0/24
BR0_GATEWAY=192.168.10.1
BR0_IP_RANGE=192.168.10.224/28
BR0_DOCKER_NETWORK=br0_lan
Optional:
BR0_HOST_SHIM_CIDR=192.168.10.239/32
Nimm fuer BR0_IP_RANGE am besten einen kleinen Bereich, der nicht durch DHCP an normale Clients vergeben wird.
Externes Docker-Netz anlegen
./scripts/alanctl net-create-br0
Das erzeugt ein Docker-Macvlan-Netz auf br0.
Bekannte Einschraenkung: Host <-> Container
Bei Macvlan koennen Host und Container standardmaessig nicht direkt miteinander sprechen. Das ist kein Fehler in deinem Compose-Setup, sondern normales Macvlan-Verhalten.
Loesung: Host-Shim anlegen
./scripts/alanctl net-create-shim
Das erzeugt auf dem Host ein zusaetzliches Macvlan-Interface und routet den konfigurierten IP-Bereich dorthin.
Wann du den Shim wirklich brauchst
- du willst den Container auf seiner
br0-IP direkt vom Host anpingen - du willst vom Host Dienste auf der
br0-IP ansprechen
Wenn dir dagegen die lokal publizierten Ports 127.0.0.1:18642 und 127.0.0.1:19119 reichen, brauchst du den Shim oft gar nicht.
Empfehlung fuer parallelen OpenClaw-Betrieb
- gleicher Parent
br0 - anderer Host-Port
- anderer Volume-Pfad
- eigene statische IP oder eigene Zuteilung aus demselben
BR0_IP_RANGE - kein gemeinsames wildes Mounten von Host-Pfaden