Configuració de DNS als contenidors Docker

Configuracio De Dns Als Contenidors Docker



DNS, o sistema de noms de domini, és una de les bases més crítiques per al descobriment d'amfitrions i la comunicació amb el dispositiu. Això no és diferent quan es tracta de contenidors i Docker.

En alguns casos, trobareu casos en què necessiteu que els contenidors es comuniquin entre ells, comparteixin amb la xarxa externa o exposin els serveis en execució a l'accés extern. Aquí és on entra en joc la configuració de DNS als contenidors Docker.

En passos senzills, aquest tutorial explora els fonaments de la configuració de DNS per executar els contenidors Docker.







Com funciona el DNS a Docker Container?

Comencem explorant com funciona el DNS als contenidors Docker.



De manera predeterminada, qualsevol contenidor de Docker utilitza la configuració DNS de l'amfitrió que s'hereta del fitxer '/etc/resolv.conf' als sistemes basats en Unix. Qualsevol contenidor que s'adjunti al pont de xarxa Docker predeterminat obté una còpia del fitxer 'resolv.conf' de l'amfitrió.



En el cas dels contenidors que s'adjunten a una definició de xarxa personalitzada, aquest contenidor utilitza el DNS incrustat de Docker.





El DNS incrustat en Docker és una funció integrada al motor Docker per proporcionar una resolució DNS per a qualsevol contenidor que s'executi en una xarxa definida per l'usuari en lloc de la xarxa pont predeterminada.

Això ajuda a garantir que la configuració de xarxa sigui coherent i portàtil entre els contenidors.



A continuació, el servidor DNS incrustat reenvia les cerques de DNS externes als servidors DNS que estan configurats al sistema amfitrió.

Configuració del contenidor DNS

Podem configurar la resolució DNS d'un contenidor determinat mitjançant diverses marques que es descriuen a continuació a l'ordre 'docker run' o 'docker create' quan s'inicia el contenidor.

Les banderes admeses són les següents:

  1. –dns – Aquest paràmetre defineix l'adreça IP del servidor DNS que voleu utilitzar. Per especificar diverses adreces DNS, utilitzeu diversos senyaladors –dns.
  2. –dns-search: aquest paràmetre especifica un domini de cerca DNS per cercar noms d'amfitrió no totalment qualificats.
  3. –dns-opt: representa un parell clau-valor que s'utilitza per especificar l'opció DNS i el seu valor.
  4. –hostname – Aquest paràmetre defineix el nom d'amfitrió que utilitza un contenidor.

Exemple d'ús:

Per especificar un servidor DNS per a un contenidor determinat, podem utilitzar l'opció –dns tal com es proporciona a l'exemple següent:

$ córrer docker --dns 1.1.1.1 --nom nginx-dev

L'ordre donada hauria de configurar el servidor DNS al DNS de Cloudflare.

Per especificar diverses adreces DNS, executeu l'ordre següent:

$ córrer docker --dns 1.1.1.1 --dns 8.8.8.8 --nom nginx-dev

També podem configurar un servidor DNS personalitzat per a tots els contenidors.

Comenceu editant el fitxer de configuració del dimoni Docker a '/etc/docker/daemon.json'. Podeu crear aquest fitxer si no existeix a la vostra màquina local.

{ 'dns' : [ '1.1.1.1' , '8.8.8.8' ] }

Finalment, reinicieu el dimoni Docker de la manera següent:

$ sudo systemctl reinicia el docker

Conclusió

En aquesta publicació, explorem el DNS que funciona als contenidors Docker. Hem après com els contenidors utilitzen DNS per defecte i com configurar un DNS personalitzat per a un contenidor determinat.