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
rootosudo. - 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)
-
En el servidor origen, instale las utilidades de compresión:
apt update && apt -y install zip unzip -
Cree un directorio temporal para consolidar la migración:
mkdir -p /root/migracion_pack -
Copie las carpetas del proxy y certificados:
cp -r /root/proxy /root/migracion_pack/ cp -r /root/certs /root/migracion_pack/ -
Comprima el directorio del facturador:
tar -czvf /root/migracion_pack/facturador.tar.gz /ruta/del/facturador/ -
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
-
En el servidor destino, verifique que Docker y Docker Compose se encuentren instalados y la red
proxynetesté creada:docker network create proxynet || true -
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/ -
Inicie el proxy y los contenedores del facturador:
cd /root/proxy && docker compose up -d cd /ruta_destino/facturador && docker compose up -d -
Actualice el registro DNS (Tipo A) de su dominio apuntando a la nueva dirección IP pública.