Обнаружение сервисов по имени
На предыдущем уроке мы увидели, что контейнеры в одной приватной сети могут связываться друг с другом. Теперь посмотрим, как они на самом деле находят друг друга: по имени, через встроенный DNS Docker. DNS преобразует имя контейнера в его текущий IP-адрес — и поскольку IP меняется между запусками, а
Сеть Docker — как офисный интерком: чтобы вызвать коллегу, вы просто называете его имя, без необходимости запоминать телефонные номера (IP-адреса), которые время от времени меняются. А 'localhost' всегда означает 'я сам' — поэтому, чтобы вызвать кого-то другого, нужно назвать его имя.
- обнаружение сервисов
- Механизм, с помощью которого контейнер находит другой сервис в той же сети по имени, а не по IP-адресу. В Docker это делается через внутренний DNS, который преобразует имя контейнера в его текущий адрес.
- DNS по имени
- Внутренний сервис Docker, который преобразует имя контейнера в его текущий IP-адрес, чтобы можно было обращаться к нему по стабильному имени вместо IP, который может измениться.
- ловушка localhost
- У каждого контейнера свой собственный localhost, поэтому обращение к localhost изнутри одного контейнера попадает к нему самому, а не к другому контейнеру — к другому контейнеру нужно обращаться по его имени.