Tá an VPN suas, sroicheann an brabhsálaí suíomhanna inmheánacha, agus ní féidir leis an gcoimeádán na hainmneacha céanna a réiteach fós. Faigheann suiteáil pacáiste bás le hearráid réitigh ainmneacha ar nós EAI_AGAIN, nó ní féidir le feidhmchlár óstach bunachar sonraí a aimsiú a réitíonn an meaisín óstaigh gan aon ghearán. Níl an coimeádán ag úsáid an réiteora a shuiteáil an VPN. Chóipeáil Docker cumraíocht réiteora an óstaigh nuair a cruthaíodh an coimeádán, agus níor chóipeáil aon rud arís í ina dhiaidh sin.

Dhá dhearcadh ar an réiteoir ar aon mheaisín amháin

Ar Linux, tugann Docker cóip de chumraíocht réiteora an óstaigh do gach coimeádán ag am a chruthaithe, scagann sé seoltaí loopback amach, agus ritheann sé freastalaí DNS leabaithe ag 127.0.0.11 a sheolann fiosrúcháin amach. Ní athraíonn cliant VPN a athscríobhann /etc/resolv.conf tar éis don choimeádán tosú aon rud istigh ann. Ní chabhraíonn atosú an choimeádáin ach amháin má tá réiteoir an óstaigh ceart go teagmhasach ag an nóiméad sin.

Cuireann Docker Desktop ar macOS nó Windows sraith leis, mar go maireann an daemon i meaisín fíorúil. B'fhéidir nach mbeidh réiteoir VPN an óstaigh le feiceáil ag an VM sin riamh, mar sin ní athraíonn atosú aon rud ar chor ar bith. Cuir an dá dhearcadh i gcomparáid sula roghnaíonn tú réiteach: docker exec mycontainer cat /etc/resolv.conf taobh le liosta réiteoirí an óstaigh.

Rachaidh coimeádán a liostaíonn réiteoir poiblí agus an t-óstach ag liostáil réiteoir inmheánach chun ainmneacha poiblí a réiteach agus teipfidh sé ar na cinn inmheánacha. Is é an deighilt sin síniú an fhadhb seo.

Rogha A: an réiteoir tolláin a chur ar aghaidh in aghaidh an choimeádáin

Glacann Docker le socruithe DNS in aghaidh an choimeádáin, agus sin an t-athrú is lú a oibríonn. Léigh seoltaí réiteora an VPN ar dtús: scutil --dns ar macOS, resolvectl status nó aschur stádais an chliaint féin ar Linux. Ansin tosaigh an coimeádán leo, mar shampla docker run --dns 192.168.2.1 --dns 192.168.123.1 myimage. I Compose is liosta faoin tseirbhís an socrú céanna, áit a maireann sé i rialú leaganacha seachas i stair bhlaosc duine éigin.

Baineann eagar dns i /etc/docker/daemon.json le gach coimeádán nua, rud a fhuaimníonn níos néata agus nach bhfuil. Baineann sé freisin nuair a bhíonn an tollán síos, agus ansin briseann réiteoir nach féidir a bhaint amach ach tríd an VPN tarraingt íomhánna rialta. Tá socruithe in aghaidh an choimeádáin níos éasca le réasúnú agus níos éasca le cealú.

Rogha B: ligean don choimeádán líonra an óstaigh a roinnt

Seachnaíonn líonrú óstaigh an chóip go hiomlán, mar go n-úsáideann an coimeádán réiteoir an óstaigh agus tollán an óstaigh. Baineann sé freisin an t-iolrú líonra a bhí uait is dócha, agus ní iompraíonn sé é féin ar an mbealach céanna faoi Docker Desktop. Ar Linux is é an rogha phragmatach é do uirlis aonuaire a chaithfidh ainmneacha inmheánacha a réiteach.

Maidir le buildí, ní bhaineann ceachtar den dá rogha, ós rud é nach n-oidhreachtaíonn céimeanna builidí bratacha ama rite. Déan builid le líonrú óstaigh san áit a gceadaíonn an t-ardán é, nó coinnigh suiteáil spleáchais i gcéim nach dteastaíonn an tollán uaithi.

An rud nach socraíonn ceachtar den dá rogha

Tá seoladh DNS gan úsáid mura bhfuil bealach ag an gcoimeádán chuige. Bíonn réiteoir an VPN suite taobh istigh de spás seoltaí an tolláin de ghnáth, mar sin teastaíonn bealach ón gcoimeádán chuig an réimír sin. Déanann droichead réamhshocraithe Docker ródú amach tríd an óstach de ghnáth, agus is leor sin nuair atá ród an tolláin ag an óstach agus nuair atá an t-aistriú ar aghaidh cumasaithe. Féadfaidh líonraí droichid saincheaptha lena linnte seoltaí féin teacht salach ar fhoilíonra an VPN, agus ansin téann fiosrúcháin áit éigin eile ar fad.

Seiceáil foilíonra líonra Docker i gcoinne fhoilíonra an VPN sula ndéanann tú dífhabhtú ar an réiteoir féin. Táirgeann forluí teip atá díreach cosúil le freastalaí DNS briste.

Fíoraigh istigh sa choimeádán

Tástáil le getent hosts db.internal istigh sa choimeádán seachas le brabhsálaí nó le hamghaolmhaire teanga, mar go gcuireann siúd a mbeartas DNS féin agus a gcarnas féin i bhfeidhm. Má réitíonn getent an t-ainm agus má theipeann ar an bhfeidhmchlár fós, tá an réiteoir ceart anois agus tá an fhadhb atá fágtha ar leibhéal an fheidhmchláir. Mura réitíonn sé, níl an chéim DNS críochnaithe.

Athchruthaigh an coimeádán tar éis a shocruithe DNS a athrú. Imíonn eagarthóireacht /etc/resolv.conf istigh i gcoimeádán atá ag rith leis agus ceilfidh sí an fhadhb chumraíochta díreach chomh fada agus a thógann sé ar dhuine éigin é a atosú.

Ailt ghaolmhara