dinaip

Docker + dinaIP: Múltiples sesiones de dinaIP en la misma máquina

|

Tiempo de lectura: 2 minutos

Actualizado el lunes, 28 noviembre, 2022

Hace poco un usuario nos comentaba que, en su caso, necesitaba correr múltiples instancias de dinaip en una misma máquina, ya que gestionaba diferentes usuarios. Al ver que tú podrías estar en su situación, decidimos preparar un pequeño tutorial de Docker y dinaIP.

Aunque a nivel de diseño dinaIP no permite múltiples instancias, hay un sencillo “hack” que nos deja lanzar todas las que queramos sin problema mediante Docker.

Para quienes no lo conozcáis, en un artículo anterior explico cómo utilizarlo para levantar un servicio web. Para que os hagáis una idea, digamos que es una alternativa más ligera que el uso de máquinas virtuales. Permite ejecutar pequeños (o grandes también) contenedores de software directamente sobre el núcleo de nuestro sistema operativo.

Cuando comenzaba con docker, una de mis primeras creaciones fue un contenedor que permite ejecutar dinaIP, manteniendo las configuraciones. Lo tenéis disponible tanto en Github como en el Docker hub.

Lanza múltiples instancias en dinaIP

El proceso para lanzar múltiples instancias es muy sencillo, puesto que Docker necesita muy poca información:

  • Datos de acceso para dinaIP
  • Una ruta para guardar las configuraciones
  • De forma opcional, un nombre de contenedor (recomendable)

Pasos a seguir:

  1. Lanzamos el contenedor, configurado para reiniciarse de forma automática si no lo detenemos para cada uno de los usuarios. Por ejemplo:
docker run -d -e DHUSER=usuario1 -e DHPASS=password1 -v ~/persistencia_docker/dinaip/usuario1:/var/persistent --name dinaip-usuario1 --restart unless-stopped vrdominguez/dinaip
docker run -d -e DHUSER=usuario2 -e DHPASS=password2 -v ~/persistencia_docker/dinaip/usuario2:/var/persistent --name dinaip-usuario2 --restart unless-stopped vrdominguez/dinaip
  • Interactuamos con cada contenedor mediante el propio Docker. Accedemos a cada uno de ellos por el nombre del contenedor, ejecutando comandos en el propio dinaIP. Por ejemplo, podemos añadir un dominio y su subdominio a cada uno de los contenedores anteriores.
  • docker exec -ti dinaip-usuario1 dinaip -a midominio.com:subdominio
    docker exec -ti dinaip-usuario2 dinaip -a otrodominio.com:otrosu

    ¡Y listo! Siguiendo estos 2 pasos hemos conseguido tener en la misma máquina dos instancias de dinaIP, con dos usuarios distintos y sin que se “molesten” entre ellas.

    A mayores…

    Como nota final, si queremos detener dinaIP sin tener que volver a hacer las configuraciones, habría que hacerlo a través de su propio comando. Mediante “Docker stop” se perderían los datos de configuración,  debido a como está configurado el contenedor. Para detener los dos contenedores del ejemplo tendríamos que ejecutar los comandos:

    docker exec -ti dinaip-usuario1 dinaip -d
    docker exec -ti dinaip-usuario2 dinaip -d
    

    NOTA: Con este comando se volverá a iniciar el contenedor de forma automática, tras haber creado una copia de la configuración anterior. Esto es útil para, una vez que tengamos todo configurado, hacer la copia persistente de la configuración y no perderla en caso de un cierre inesperado. Es recomendable hacer esta parada, al menos una vez ya hemos configurado todo (dinaIP con los dominios a monitorizar).

    Si queremos parar el contenedor y que no vuelva a iniciarse, podemos hacer la parada anterior, con su consecuente arranque automático (de forma que se guarde la configuración) y, a continuación, detenerlo con el propio Docker:

    docker stop dinaip-usuario1
    docker stop dinaip-usuario2

    En caso de detenerlo así, podemos relanzar el contenedor utilizando “Docker start”:

    docker start dinaip-usuario1
    docker start dinaip-usuario2
    

    Espero que este pequeño tutorial de Docker y DinaIP te resulte útil. Recuerda que, ante cualquier duda o sugerencia, puedes contactarnos siempre que quieras, por los métodos habituales 🙂


    Avatar de Víctor Rodríguez

    Comentarios

    4 respuestas

    1. Avatar de Eugenio Pereiro Garcia
      Eugenio Pereiro Garcia

      Buenas noches, estoy intentando poner en marcha el articulo de DinaIp en Docker pero como Host una raspberry pi 4 de 4Gb, pero parece que algo no es compatible con la arquitectura arm64.
      Por mas vueltas que le doy no consigo saber donde solicita la imagen que falla.
      El mensaje que devuelve: La plataforma de la imagen solicitada (linux / amd64) no coincide con la plataforma de host detectada (linux / arm64 / v8) y no se solicitó una plataforma específica

      ¿una ayuda? ¡Muchas Gracias!

      1. Avatar de Víctor Rodríguez
        Víctor Rodríguez

        Hola, Eugenio,

        Efectivamente, esta imagen de Docker solo está disponible para amd64, por eso no puede usarse en Raspberry Pi. Próximamente la actualizaré para ser compatible con arquitecturas como ARM 🙂

        ¡Gracias por pasarte por nuestro blog!

    2. Avatar de Miguel

      Buenas tardes.

      Estoy probando el container para actualizar la IP de un dominio y se me para la ejecución del docker y me dice que credenciales incorrectas.

      El dominio lo tengo desde ayer y no sé si eso tiene algo que ver. Al panel puedo entrar perfectamente con mi usuario y contraseña, pero cuando relleno estos datos en el comando de despliegue del docker, me devuelve el error que comento.

      Sabrían decirme a qué es debido? Muchas gracias de antemano.

      1. Avatar de Marta Mariño
        Marta Mariño

        Hola Miguel,

        Es posible que tengas algún carácter especial en tu contraseña que no se está procesando bien porque no se está metiendo entre comillas. Te pongo aquí un ejemplo de prueba que hicimos:
        Test de prueba contraseña

        Si el problema sigue persistiendo, te recomendamos que contactes con nuestro equipo de Soporte o llámanos gratis al 900 854 000, te atenderemos 24/7 🙂

        ¡Un saludo!

    Deja una respuesta

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

    Newsletter

    Suscríbete y recibe periódicamente consejos muy útiles para tu web y ecommerce 🙂 Además, te regalamos
    3 guías
    : Digitalización, WordPress y Ciberseguridad.

    Conviértete en afiliado

    Gana dinero recomendando dinahosting a todo el mundo.