Покретање проксија и DNS сервера на истом Docker домаћину не повезује њихове DNS путање. Важна су три одвојена односа:

  • Мрежна доступност. Одвојени Compose пројекти обично имају одвојене подразумеване мреже. Сместите услуге на одговарајућу дељену мрежу, било унутар једног пројекта било кроз мрежу која је изричито дељена између пројеката.
  • Откривање услуга. Уграђени DNS прилагођене Docker мреже може да разреши имена контејнера. То апликацији омогућава да открије суседа; али не бира тог суседа аутоматски као свој DNS resolver.
  • Избор resolver-а. Утврдите који се resolver користи унутар прокси контејнера. Поље dns у Compose-у прихвата адресе DNS сервера. Име попут dns.local које се разрешава у апликацији не чини га важећом вредношћу тог поља.

Пратите упит од прокси контејнера до његове конфигурисане адресе resolver-а. Потврдите да на тој адреси постоји рута и DNS слушалац. Објављивање host порта 53 ствара приступну путању на страни домаћина; али не говори контејнерима да је користе. Контејнери који деле мрежу могу уместо тога да комуницирају директно.

Ако конфигурација упућује на адресу DNS контејнера, одржавајте је стабилном уз компатибилну IPAM конфигурацију. Динамички додељена адреса копирана из јучерашњег контејнера може да не успе при поновном стварању. Проверите и узводну путању resolver-а: прослеђивање неодговорених упита назад њему самом ствара другачији квар од недоступног resolver-а.

На крају, утврдите ко разрешава одредиште. HTTP прокси који разрешава CONNECT име може да користи ову путању кроз контејнер; SOCKS клијент који разрешава локално можда неће. Претрага на домаћину доказује руту домаћина, не руту прокси процеса.

Повезани чланци