Pse një kontejner proxy nuk e përdor automatikisht kontejnerin DNS
Ndarja e një hosti Docker, ndarja e një rrjeti dhe zgjedhja e një zgjidhësi janë tre gjëra të ndryshme. Ndiqni pyetjen DNS nga brenda proxy-t.
Ekzekutimi i një proxy dhe i një serveri DNS në të njëjtin host Docker nuk i lidh rrugët e tyre DNS. Kanë rëndësi tre marrëdhënie të ndara:
- Arritshmëria e rrjetit. Projektet e ndara Compose zakonisht kanë rrjete të parazgjedhura të ndara. Vendosni shërbimet në një rrjet të përbashkët të përshtatshëm, qoftë brenda një projekti, qoftë përmes një rrjeti të ndarë në mënyrë të qartë midis projekteve.
- Zbulimi i shërbimeve. DNS-i i integruar i një rrjeti Docker të personalizuar mund të zgjidhë emrat e kontejnerëve. Kjo i lejon një aplikacioni të zbulojë një fqinj; por nuk e zgjedh automatikisht atë fqinj si zgjidhësin e tij DNS.
- Zgjedhja e zgjidhësit. Identifikoni zgjidhësin që përdoret brenda kontejnerit proxy. Fusha
dnse Compose pranon adresa të serverëve DNS. Një emër sidns.localqë zgjidhet në një aplikacion nuk e bën atë vlerë të vlefshme për atë fushë.
Ndiqni pyetjen nga kontejneri proxy deri te adresa e konfiguruar e zgjidhësit të tij. Konfirmoni se në atë adresë ka një rrugë dhe një dëgjues DNS. Publikimi i portës 53 të hostit krijon një rrugë hyrjeje nga ana e hostit; por nuk u thotë kontejnerëve ta përdorin atë. Kontejnerët që ndajnë një rrjet mund të komunikojnë drejtpërdrejt në vend të kësaj.
Nëse konfigurimi i referohet adresës së kontejnerit DNS, mbajeni atë të qëndrueshme nën një konfigurim IPAM të përputhshëm. Një adresë e caktuar në mënyrë dinamike e kopjuar nga kontejneri i djeshëm mund të dështojë gjatë rikrijimit. Ekzaminoni gjithashtu rrugën e sipërme të zgjidhësit: ridërgimi i pyetjeve pa përgjigje përsëri drejt tij krijon një dështim të ndryshëm nga një zgjidhës i paarritshëm.
Më në fund, identifikoni kush e zgjidh destinacionin. Një proxy HTTP që zgjidh një emër CONNECT mund të përdorë këtë rrugë përmes kontejnerit; një klient SOCKS që zgjidh lokalisht mund të mos e përdorë. Një kërkim në host provon rrugën e hostit, jo atë të procesit proxy.