LINUX

Cómo configurar el servidor DNS con el contenedor Docker

configurar el contenedor de la ventana acoplable del servidor dns

Se usa un Dockerfile para crear una imagen de contenedor de Docker, esto se usará para crear el servidor DNS. Una forma sencilla de configurar un servidor DNS básico con Docker es utilizar el servidor DNS BIND incluido con la interfaz Webmin. En este tutorial, cubrimos cómo implementar el servidor DNS mediante el contenedor de la ventana acoplable.

BIND es un software de código abierto que implementa los protocolos del Sistema de nombres de dominio (DNS) para Internet. Es una implementación de referencia de esos protocolos, pero también es un software de grado de producción, adecuado para su uso en aplicaciones de alto volumen y alta confiabilidad.

Las compilaciones automatizadas de la imagen están disponibles en Dockerhub y es el método de instalación recomendado

docker pull sameersbn/bind:9.9.5-20170129

Alternativamente, puede construir la imagen usted mismo.

docker build -t sameersbn/bind github.com/sameersbn/docker-bind

Para iniciar un servidor DNS BIND, ejecute:

docker run --name bind -d --restart=always  --publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp  --volume /srv/docker/bind:/data  sameersbn/bind:9.9.5-20170129

Alternativamente, puede usar el archivo docker-compose.yml de muestra para iniciar el contenedor usando Docker Compose.

Cuando se inicia el contenedor, también se inicia el servicio Webmin y se puede acceder a él desde el navegador web en http: // localhost: 10000. Inicie sesión en Webmin con el nombre de usuario raíz y la contraseña. Especifique –env ROOT_PASSWORD = secretpassword en el comando docker run para establecer una contraseña de su elección.

El lanzamiento de Webmin se puede desactivar agregando –env WEBMIN_ENABLED = false al comando docker run. Tenga en cuenta que el parámetro ROOT_PASSWORD no tiene ningún efecto cuando el inicio de Webmin está deshabilitado.

Prueba del servidor DNS

Puede personalizar el comando de inicio del servidor BIND especificando argumentos para nombrar en el comando docker run. Por ejemplo, el siguiente comando imprime el menú de ayuda del comando con nombre:

docker run --name bind -it --rm 
--publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp 
--volume /srv/docker/bind:/data 
sameersbn/bind:9.9.5-20170129 -h

Para que BIND conserve su estado durante el apagado y el inicio del contenedor, debe montar un volumen en / data.

Los usuarios de SELinux deben actualizar el contexto de seguridad del punto de montaje del host para que funcione bien con Docker:

mkdir -p /srv/docker/bind
chcon -Rt svirt_sandbox_file_t /srv/docker/bind

Despliegue y mantenimiento

Para actualizar la imagen de Docker BIND DNS

Descargue la imagen de Docker actualizada:

docker pull sameersbn/bind:9.9.5-20170129

Detenga la imagen que se está ejecutando actualmente:

docker stop bind

Retirar el recipiente detenido

docker rm -v bind

Iniciar la imagen actualizada

docker run -name bind -d  [OPTIONS]  sameersbn/bind:9.9.5-20170129

Abra el navegador web en https://172.17.42.1:10000 e inicie sesión en webmin como usuario root y contraseña SecretPassword. Esto le dará la posibilidad de configurar su servidor DNS usando la interfaz de usuario de Webmin.

Conclusión

Para fines de depuración y mantenimiento, es posible que desee acceder al shell de contenedores. Si está utilizando la versión 1.3.0 de Docker o superior, puede acceder a un shell de contenedores en ejecución iniciando bash con docker exec:

docker exec -it bind bash

Esto ejecuta el servidor DNS de Docker.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar