Portainer vs. Docker Desktop hálózat WSL-ben

Sziasztok!

 

Sajnos pontos részleteket nem oszthatok meg, ezért csak átalános iránymutatást kérnék.

 

Van egy két konténerből álló docker-compose fájlom. Az egyik konténernek el kéne érni a host gépen futó Tomcat-et ezért fel van véve az

    extra_hosts:
      - "host.docker.internal:host-gateway"
 

Nálam Linux alatt faszán fut. Docker Desktop alatt Windowson WSL-lel faszán fut.

Portainerrel (https://www.portainer.io/) natív WSL-es dockerrel nem megy. Olyan mintha a WSL-ben futó linuxot látná a konténerből, de a Win-en futó Tomcatet már nem. Tuti valami hálózati beállítás van elcseszve de én Win-en, pláne WSL-lel nem mozgok otthonosan. 

 

Köszi a segítséget!

Hozzászólások

Szerkesztve: 2025. 07. 28., h – 14:52

Bocs, félreolvastam.

A Portainer csak egy container management tool. Mi a pontos probléma?

Az a gondod, hogy docker compose-zal deployolva a stack jól működik, míg ha Portainerrel deployolod, úgy nem megy?

A Portainer felületén látod a hozzáadott extra_host bejegyzést a konténer adatainál?

Igen, szerintem sincs effektív a Portainer-hez köze, de nem tudom hogy telepítették a cuccot, ezért írtam le, hogy van.

 

Igen, látom, csak valami miatt csak a WSL-ig megy a hálózat. A Windows hostra nem lát ki, ott már timeout van, pedig ahogy néztem a windows meg a WSL linux alatt a hálózati interfészek ugyanazok. Arra gondoltam, hogy talán valami Windows firewall megfoghatja, de a kolléga szerint nem állított be ilyet. Mondjuk központilag telepített a cucc, lehet van valami elcseszett policy ami ezt okozza.

TL;DR: Nulladik körben, ideiglenesen tiltsátok le a tűzfalat, ha hirtelen elkezd működni minden, akkor az volt a gond.

Bővebben: Ha a kollega nem állított ilyet, akkor igen, megfoghatja, ha a WSL-es hálózatot valamiért idegen testként ismeri fel. Ki kell publikálni a Tomcatet a windows tűzfalon (átmenetileg a publikus hálózat felé is. utána lehet finomítani). A Windows tűzfal ugyanis INPUT ágon alapból blokkol mindent, kivéve ami expliciten be van engedve.

És ugye azt tudjuk, hogy ami a dockeres hálózatból jön ki forgalom, az egy yet another hálózatból fog jönni, nem a gép IP-jérúl, még csak nem is a gép hálózatából? Hiába ugyanazok az interfészek, a docker fel fog húzni egy saját hálózatot, a kontíner onnan kap IP-t (mert a kontíner ilyen szempontból önálló, külön gépnek számít), és azzal fogja támadni a hostot. Ha ezt a hálózatot a Windows tűzfal nem ismeri el, mint belső háló, akkor nem fogja beengedni róla a forgalmat.

Blog | @hron84

valahol egy üzemeltetőmaci most mérgesen toppant a lábával 

via @snq-

Csak közvetlenül a WSL-ből, mindenféle konténer nélkül elérhető a Windows-on futó Tomcat?

Tippre amúgy tűzfal beállítás lesz a Windows-on.

 

a windows meg a WSL linux alatt a hálózati interfészek ugyanazok

Itt már feltételezem volt valami játszadozás a hálózati beállításokkal? Be lett állítva a networkingMode=mirrored a .wslconfig file-ban? Ez amúgy nem baj, akár ezzel együtt vagy enélkül is működhet.