- ¿Cómo convertir una imagen de Docker a un sistema de archivos raíz y ejecutarla en MikroTik?
- Requisitos previos y puntos importantes
- Parte 1: Creación de un sistema de archivos raíz de contenedor en Ubuntu (ejemplo con Docker)
- Parte 2: Transferir archivos a MikroTik
- Parte 3: Importación de contenedores en RouterOS
- Parte 4: Creación y ejecución de un contenedor
- Sección 5 — Asignación de IP y reenvío de puertos (Reenvío de puertos / NAT)
- Parte 6 — Ejemplo práctico: Instalación de Nginx y redireccionamiento de puertos
- Sección 7 — Problemas y soluciones comunes
- Sección 8 — Seguridad y restricciones
- Sección 9 — ¿Cuándo es mejor no usar MikroTik para contenedores?
- Sección 10 — Consejos prácticos y recomendaciones finales
- Contáctanos para conocer nuestros servicios.
- Preguntas frecuentes
¿Cómo convertir una imagen de Docker a un sistema de archivos raíz y ejecutarla en MikroTik?
En esta guía práctica y experta, le mostraremos el proceso paso a paso para descargar una imagen de Docker en Ubuntu, extraerla y sistema de archivos raízSe explica cómo transferirlo al dispositivo RouterOS (MikroTik), importarlo como una imagen, crear y ejecutar el contenedor y, finalmente, configurar NAT/Firewall para acceder al servicio desde fuera de la red.
Requisitos previos y puntos importantes
Consejos técnicos básicos:
RouterOS debe ser la versión 7.x o superior Y cerrado recipiente Debe estar habilitado en el dispositivo. Para comprobar la versión mediante CLI o Winbox:
/system package printAsegúrese de tener suficiente espacio de almacenamiento en MikroTik; utilice un NAS externo o NFS si es necesario.
Revisar Arquitectura del procesador Dispositivo (por ejemplo, arm, arm64, mipsbe, x86_64):
/system resource printPara subir archivos también se requiere acceso mediante SSH/FTP o Winbox.
Parte 1: Creación de un sistema de archivos raíz de contenedor en Ubuntu (ejemplo con Docker)
En Ubuntu usamos Docker para descargar la imagen y extraer el sistema de archivos. Si necesita una arquitectura específica, utilice --plataforma Usar.
Ejemplo: Extracción del sistema de archivos raíz de una imagen Alpine para la arquitectura arm/v7.
sudo apt update
sudo apt install -y docker.iodocker pull --platform linux/arm/v7 alpine:latest
docker create --name tmp-alpine alpine:latest
docker export tmp-alpine > alpine-rootfs.tar
docker rm tmp-alpine
gzip alpine-rootfs.tar # optional -> alpine-rootfs.tar.gzExplicación: exportación de Docker Crea un archivo tar del sistema de archivos del contenedor adecuado para importarlo a RouterOS como rootfs. Si necesita capas OCI, puede usar Docker guardar Utilizar pero muchos enrutadores sistema de archivos raíz sin procesar Ellos quieren.
Parte 2: Transferir archivos a MikroTik
Método 1 — SCP (Línea de comandos)
scp -P 22 alpine-rootfs.tar.gz admin@MIKROTIK_IP:/Método 2 — Winbox/WebFig
Arrastra y suelta el archivo tar.gz en la ventana Archivos de Winbox. La ruta de carga se puede ver en Archivos o en /file-store.
Parte 3: Importación de contenedores en RouterOS
Método gráfico (Winbox/WebFig): A la sección Recipiente Vaya a la pestaña Imágenes y haga clic en Importar. Seleccione el archivo tar.gz e introduzca un nombre adecuado (por ejemplo, alpino-armv7).
Método de línea de comandos (CLI de RouterOS):
/container image import file-name=alpine-rootfs.tar.gz name=alpine-armv7Parte 4: Creación y ejecución de un contenedor
Tras importar la imagen, compile y ejecute el contenedor. Se proporcionan ejemplos tanto para Winbox como para la interfaz de línea de comandos (CLI).
Ejemplo de CLI:
/container create image=alpine-armv7 name=my-alpine command="/bin/sh"
/container start my-alpineEn Winbox puedes usar la pestaña Consola Úselo para conectarse al intérprete de comandos del contenedor o para acceder al intérprete de comandos con el comando attach.
Sección 5 — Asignación de IP y reenvío de puertos (Reenvío de puertos / NAT)
Existen dos formas comunes de acceder a un servicio dentro de un contenedor desde el exterior: Asignación de IP dedicada al contenedor y usar NAT, o Liberación directa del puerto Si RouterOS lo admite.
Ejemplo de NAT para servicio HTTP: Supongamos que esta es la IP pública del router. 203.0.113.10 y IP de contenedor 172.18.0.2 Lo que queremos es que el puerto 8080 del router se redirija al puerto 80 dentro del contenedor.
/ip firewall nat add chain=dstnat dst-address=203.0.113.10 protocol=tcp dst-port=8080 action=dst-nat to-addresses=172.18.0.2 to-ports=80 comment="NAT -> container nginx"Para UDP, cree lo mismo con protocol=udp y el puerto de destino apropiado. También utilice Filtro de firewall IP Úselo para restringir el acceso (por ejemplo, solo a direcciones IP específicas) para aumentar la seguridad.
Parte 6 — Ejemplo práctico: Instalación de Nginx y redireccionamiento de puertos
Pasos resumidos para crear un sistema de archivos raíz desde nginx, importarlo a Mikrotik y ejecutarlo:
docker pull --platform linux/arm/v7 nginx:stable
docker create --name tmp-nginx nginx:stable
docker export tmp-nginx > nginx-rootfs.tar
gzip nginx-rootfs.tarLuego, suba e importe el archivo y cree un contenedor con el comando ejecutable de nginx:
/container create image=nginx-arm name=nginx1 command="/usr/sbin/nginx -g 'daemon off;'"
/container start nginx1A continuación, localice la dirección IP del contenedor y cree una regla NAT similar al ejemplo de la sección anterior para que el servicio sea accesible desde Internet.
Sección 7 — Problemas y soluciones comunes
Problema arquitectónico: Si RouterOS tiene una arquitectura ARM y su imagen es x86_64, debe compilar la imagen para ARM o usar multi-arch. Los métodos de compilación multi-arch incluyen el uso de qemu-user-static y docker buildx Es.
Falta de recursos: Los contenedores consumen recursos de la máquina; utilice servidores en la nube o servidores dedicados para servicios de alto rendimiento.
Poco espacio de almacenamiento: Utilice FTP/NAS o un servidor en la nube para alojar archivos grandes.
El servicio no se inicia: Comprueba los registros con la consola dentro del contenedor y asegúrate de que el proceso init o systemd sea el adecuado para la imagen.
Sección 8 — Seguridad y restricciones
Beneficios y recomendaciones en materia de seguridad:
Utilice imágenes oficiales y actualizadas, y escanéelas antes de importarlas.
Limitación de recursos (CPU, memoria) para prevenir ataques DoS locales.
Utilice VPN o TLS y autenticación de dos factores para servicios sensibles.
Utilice CDN y protección anti-DDoS para los servicios públicos.
Sección 9 — ¿Cuándo es mejor no usar MikroTik para contenedores?
Para aplicaciones exigentes y sensibles a la latencia, como modelos de IA o renderizado, utilice servidores GPU o servidores en la nube.
En entornos de producción con mucho tráfico, es mejor alojar los contenedores en servidores en la nube o en entornos de orquestación como Kubernetes.
Para aplicaciones de trading con una latencia muy baja, utilice un VPS dedicado para trading con una ubicación adecuada.
Sección 10 — Consejos prácticos y recomendaciones finales
Siempre realice pruebas primero en un entorno de prueba antes de pasar a producción.
Si quieres automatizar los contenedores, utiliza un sistema CI/CD adecuado.
Utilice servicios de gráficos en la nube para evitar sobrecargar MikroTik con requisitos de GPU.
Contáctanos para conocer nuestros servicios.
Para proyectos que requieren infraestructura potente, VPS dedicados para trading, GPU o protección DDoS, ofrecemos ubicaciones globales, redes BGP y servicios de seguridad en la nube. Si necesita asesoramiento técnico sobre la selección de ubicación, la configuración de red y la seguridad, póngase en contacto con nuestro equipo de soporte.








