Rozwiązanie społecznościowe

ZimaOS macvlan: utwórz sieć Docker, która przetrwa

Users tested Docker macvlan on ZimaOS through Portainer and SSH, including the need for sudo and host-access considerations.

Docker macvlan może działać na ZimaOS, a wątek z lutego 2026 r. zawiera konfigurację Portainera zweryfikowaną przez użytkownika oraz przykład pomyślnego użycia polecenia sudo docker network create. Główna pułapka polega na tym, że macvlan działa inaczej niż zwykły most Docker: kontenery otrzymują adresy podobne do adresów w sieci LAN, ale host Linux nie może domyślnie komunikować się z nimi bezpośrednio.

To zachowanie związane z izolacją hosta nie jest błędem ZimaOS. Jest to udokumentowana właściwość macvlan w Dockerze i modelu sieciowym Linuksa.

Co potwierdziła społeczność

Początkowo użytkownik miał problemy z utworzeniem macvlan za pomocą stosów Portainera. Inny użytkownik utworzył sieć przez SSH, po czym pojawiła się ona na liście rozwijanej sieci aplikacji niestandardowych w ZimaOS. Następnie pierwszy użytkownik poinformował o sukcesie po utworzeniu najpierw konfiguracji macvlan w Portainerze, a dopiero potem właściwej sieci macvlan.

Późniejszy użytkownik potwierdził również, że bezpośrednie utworzenie sieci za pomocą interfejsu Docker CLI wymagało użycia sudo, ponieważ zwykłe konto ZimaOS nie miało dostępu do gniazda Dockera.

Zbuduj sieć zgodnie z rzeczywistą siecią LAN

Wybierz właściwy fizyczny interfejs nadrzędny, podsieć, bramę oraz bezpieczny zakres adresów IP, który nie będzie kolidował z dzierżawami DHCP przydzielanymi przez router. Nie kopiuj eth0 ani 192.168.0.0/24 z przykładu na forum, chyba że odpowiadają one konfiguracji Twojego serwera.

Aktualny przewodnik Dockera po macvlan ostrzega również, że sprzęt sieciowy musi obsługiwać wiele adresów MAC, a macvlan działa wyłącznie w systemie Linux.

Zrozum izolację między hostem a kontenerami

Docker wyraźnie dokumentuje, że kontener macvlan nie może bezpośrednio komunikować się ze swoim hostem z powodu ograniczenia jądra Linuksa. Oznacza to, że usługa może działać bez zarzutu dla innych klientów w sieci LAN, a jednocześnie pozostawać niedostępna z poziomu samego hosta ZimaOS.

Jeśli wymagany jest dostęp z hosta, Docker sugeruje dodanie do kontenera dodatkowej sieci mostkowej albo utworzenie na hoście interfejsu macvlan z adresem w tej samej podsieci. To drugie rozwiązanie należy traktować jako zaawansowaną konfigurację sieci i udokumentować je, aby ponowne uruchomienie lub zmiana nazwy interfejsu nie spowodowały po cichu utraty dostępu.

Nie pozwól, aby Portainer i ZimaOS odtwarzały tę samą sieć

Ustal jednego właściciela sieci. Jeśli zarządza nią Portainer, odwołuj się w stosach aplikacji do istniejącej sieci zewnętrznej, zamiast prosić każdy stos o jej ponowne utworzenie. Jeśli tworzysz ją za pomocą Docker CLI, upewnij się, że aplikacje ZimaOS odwołują się do dokładnej nazwy istniejącej sieci.

przewodnik po routingu Dockera oraz przewodnik po segmentacji sieci omawiają powiązane kwestie routingu i zapory sieciowej.

Podsumowanie

macvlan może być używany w ZimaOS, jeśli zostanie utworzony z właściwym interfejsem nadrzędnym i odpowiednimi uprawnieniami, ale sukces nie oznacza wyłącznie, że „kontener ma adres IP”. Przed przeniesieniem ważnych usług do tej sieci sprawdź dostęp z sieci LAN, wymagania dotyczące dostępu z hosta, trwałość konfiguracji po ponownym uruchomieniu, rozdzielenie DHCP oraz to, kto jest jednoznacznym właścicielem sieci.