Nid yw rhedeg dirprwy a gweinydd DNS ar un gwesteiwr Docker yn cysylltu eu llwybrau DNS. Mae tri pherthynas ar wahân yn bwysig:

  • Cyraeddadwyedd rhwydwaith. Fel arfer mae gan brosiectau Compose ar wahân rwydweithiau rhagosodedig ar wahân. Gosodwch y gwasanaethau ar rwydwaith a rennir addas, naill ai o fewn un prosiect neu drwy rwydwaith a rennir yn benodol rhwng prosiectau.
  • Darganfod gwasanaethau. Gall DNS mewnosodedig rhwydwaith Docker cyfaddas ddatrys enwau cynwysyddion. Mae hynny'n gadael i raglen ddarganfod cymydog; nid yw'n dewis y cymydog hwnnw'n awtomatig fel ei ddatryswr DNS.
  • Dewis datryswr. Nodwch y datryswr a ddefnyddir y tu mewn i'r cynhwysydd dirprwy. Mae maes dns Compose yn cymryd cyfeiriadau gweinydd DNS. Nid yw enw fel dns.local sy'n datrys mewn rhaglen yn gwneud hynny'n werth dilys i'r maes hwnnw.

Dilynwch yr ymholiad o'r cynhwysydd dirprwy i'w gyfeiriad datryswr cyfluniedig. Cadarnhewch fod llwybr a gwrandawr DNS yn y cyfeiriad hwnnw. Mae cyhoeddi porth 53 y gwesteiwr yn creu llwybr mynediad ar ochr y gwesteiwr; nid yw'n dweud wrth gynwysyddion i'w ddefnyddio. Gall cynwysyddion sy'n rhannu rhwydwaith gyfathrebu'n uniongyrchol yn lle hynny.

Os yw'r cyfluniad yn cyfeirio at gyfeiriad y cynhwysydd DNS, cadwch ef yn sefydlog o dan gyfluniad IPAM cydnaws. Gall cyfeiriad a ddyrannwyd yn ddeinamig ac a gopïwyd o gynhwysydd ddoe fethu wrth ail-greu. Archwiliwch hefyd lwybr uwchffrwd y datryswr: mae anfon ymholiadau heb ateb yn ôl ato'i hun yn creu methiant gwahanol i ddatryswr anghyraeddadwy.

Yn olaf, nodwch pwy sy'n datrys y gyrchfan. Gall dirprwy HTTP sy'n datrys enw CONNECT ddefnyddio'r llwybr hwn drwy'r cynhwysydd; efallai na fydd cleient SOCKS sy'n datrys yn lleol yn gwneud hynny. Mae chwiliad ar y gwesteiwr yn profi llwybr y gwesteiwr, nid llwybr y broses ddirprwy.

Erthyglau cysylltiedig