Saltar al contenido
Facturador

Migración de Servidor con Docker

Procedimiento para clonar y migrar una instalación completa basada en Docker (aplicación, volúmenes de base de datos, proxy y certificados SSL) hacia una nueva máquina virtual.


📋 Requisitos Previos

  • Acceso SSH a ambos servidores con privilegios root o sudo.
  • Misma arquitectura y distribución base recomendada (Ubuntu 22.04 / 24.04).
  • Espacio en disco disponible suficiente en el servidor de destino.

📦 Fase 1: Empaquetado en Servidor A (Origen)

  1. En el servidor origen, instale las utilidades de compresión:

    apt update && apt -y install zip unzip
    
  2. Cree un directorio temporal para consolidar la migración:

    mkdir -p /root/migracion_pack
    
  3. Copie las carpetas del proxy y certificados:

    cp -r /root/proxy /root/migracion_pack/
    cp -r /root/certs /root/migracion_pack/
    
  4. Comprima el directorio del facturador:

    tar -czvf /root/migracion_pack/facturador.tar.gz /ruta/del/facturador/
    
  5. Comprima el volumen físico de MariaDB/MySQL:

    cd /var/lib/docker/volumes/
    tar -czvf /root/migracion_pack/mysql_data.tar.gz [nombre_volumen_mariadb]/
    

🚀 Fase 2: Transferencia al Servidor B (Destino)

Envíe el paquete completo hacia el nuevo servidor mediante SCP:

scp -r /root/migracion_pack/ root@[IP_SERVIDOR_B]:/root/migracion_pack/

⚙️ Fase 3: Despliegue en Servidor B

  1. En el servidor destino, verifique que Docker y Docker Compose se encuentren instalados y la red proxynet esté creada:

    docker network create proxynet || true
    
  2. Descomprima y ubique los archivos:

    cd /root/migracion_pack/
    mv proxy /root/
    mv certs /root/
    tar -xzvf facturador.tar.gz -C /ruta_destino/
    tar -xzvf mysql_data.tar.gz -C /var/lib/docker/volumes/
    
  3. Inicie el proxy y los contenedores del facturador:

    cd /root/proxy && docker compose up -d
    cd /ruta_destino/facturador && docker compose up -d
    
  4. Actualice el registro DNS (Tipo A) de su dominio apuntando a la nueva dirección IP pública.