A virtuális gépeken belül nem tudom 127.0.0.1-gyel vagy localhost-tal elérni a postgresql szervert, csak 172.20.0.3 -mal. Hogy lehetne ezen segíteni? (Tehát hogy 127.0.0.1-el is látsszon.)
Ilyen a docker-compose.yml fájlom: https://pastebin.com/j9baN9Us
Szerk: végül is nem okoz gondot.
- 1505 megtekintés
Hozzászólások
Szerintem sehogy.
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
Köszi
- A hozzászóláshoz be kell jelentkezni
A service nevét kell megadni, úgy, mintha localhost lenne, tehát ebben az esetben bármelyik service-ből:
db:5432
szerk.: most olvastam el a kérdés végét... :)
Esetleg egy Dockerfile-ban a /etc/hosts végére odabiggyeszteni a saját IP localhost párost?
- A hozzászóláshoz be kell jelentkezni
Ez akkor se localhost.
Nem lehet localhost másik gépről, pontosan a konténer szintű szeparáció miatt.
Ugyanaz a kernel (linuxon) de másik cgroup.
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
Oké, akkor ez így nem járható út.
- A hozzászóláshoz be kell jelentkezni
masik namespace, de egyetertunk
de amugy sem ertem, hogy mi a helyzet. Van egy VM, amiben a fenti docker containerek futnak? Es a php-sbol "localhost"-al szeretne elerni a db-t?
Mert ez olyan, mintha ket fizikai gepen szeretne az egyik szervizt localhosttal elerni.
Amugy ha sajat networkot definial (nem a default-ot), akkor kozos lesz a namespace es latjak egymast a containerek nevvel, de akkor sem lehet localhosttal elerni egyik "gepet" a masikrol!
Ha ez kell, akkor legyen egyetlen kontainer amiben minden szolgaltatas benne van mondjuk supervisord-vel inditva.
- A hozzászóláshoz be kell jelentkezni
Szerintem inkább az volt a cél, hogy ne hardcode-olt IP-vel kelljen elérni a DB-t, ami ugye egy-egy restart után változhat. Ezért írtam kapásból a db:...-t, mert mintha valójában ezt a megoldást kereste volna OP a localhost-os workarounddal.
- A hozzászóláshoz be kell jelentkezni
Ja ertettem es igazat is adtam neked. Csak ertetlenul alltam en is az egesz localhost-os ize elott. :D
Nem birtam megallni, hogy ne irjam le :D
- A hozzászóláshoz be kell jelentkezni
Igen, jól látod, ez volt a cél. Köszi a meggondolásokat mindenkinek!
- A hozzászóláshoz be kell jelentkezni
Mondjuk ha kubernetes-ben inditod egy podban oket, akkor azok mind tudnak ugy kommunikalni, hogy "localhost" mert azonos lesz a network namespace a pod-on beluli osszes containernek.
De ez mar messze vezetne. :D
- A hozzászóláshoz be kell jelentkezni
Ó, ez meggondolandó! Köszi!! :-)
- A hozzászóláshoz be kell jelentkezni
Ez lett a megoldás, tényleg. (Egyszerűen IP cím helyett db.)
- A hozzászóláshoz be kell jelentkezni