Mikrotik: Gestionar Containers Docker
Hoy os voy a mostrar como instalar Containers Docker bajo vuestro equipo Mikrotik, y así disponer de virtualización a nivel de sistema operativo dentro de vuestro propio router. En mi caso, lo voy a hacer sobre el Mikrotik RB5009, en la versión de firmware 7.14.3.
Para determinar qué paquete de contenedores específico necesitas descargar para un router MikroTik RB5009, es crucial identificar la arquitectura del CPU de tu dispositivo. El MikroTik RB5009 utiliza un procesador que pertenece a la arquitectura ARM, específicamente ARM 64 bits (aarch64).
Pasos para descargar y cargar el paquete de Contenedores para MikroTik RB5009
- Visitar la Página de Descargas de MikroTik:
- Ve al sitio oficial de MikroTik en https://mikrotik.com/download.
- Seleccionar la Arquitectura Correcta:
- En la sección de descargas, ubica la categoría de ARM y selecciona el enlace para ARM 64 bits, que es adecuado para el RB5009, de “Extra packages“:
- Descargar el Paquete ‘Containers’:
- Dentro de la lista de descargas para ARM 64 bits, busca un archivo llamado algo similar a containers-X.Y.npk, donde X.Y es la versión de RouterOS que estás utilizando. Este archivo es el paquete que necesitas para habilitar la funcionalidad de contenedores en tu RB5009.
- Instalación:
- Después de descargar el archivo correcto, subes este archivo a tu MikroTik RB5009 utilizando WinBox o por FTP. Lo podéis hacer en el menú Files -> Seleccionar archivo:
-
- Reinicia el router para completar la instalación del paquete.
El paquete desaparece de Files y aparece el menú Containers en la parte inferior:
Ejemplos para configurar y usar “Containers” en Mikrotik
Una vez que el paquete está instalado, puedes comenzar a configurar y usar contenedores Docker en tu MikroTik.
Ejemplo 1: Servidor web NGINX bajo Container Mikrotik
Supongamos que quieres ejecutar un servidor web NGINX básico dentro de un contenedor en tu MikroTik:
- Accede a la Terminal de RouterOS:
- Abre la terminal en WinBox o conéctate vía SSH.
- Crea una Red para el Contenedor (si es necesario):
- Ejemplo:
1/container network add name=nginx-net
- Ejemplo:
- Ejecuta el Contenedor NGINX:
- Utiliza el comando:
1 2 |
/container add name=nginx-container image=nginx network=nginx-net /container start nginx-container |
Ejemplo 2: Ejecutar un Contenedor de Base de Datos bajo Container Mikrotik (MariaDB)
Si necesitas ejecutar una base de datos MariaDB para un proyecto:
- Configura la Red:
- Ejemplo:
1/container network add name=db-net
- Ejemplo:
- Ejecuta el Contenedor MariaDB:
- Ejemplo:
1 2 |
/container add name=mariadb-container image=mariadb network=db-net env="MYSQL_ROOT_PASSWORD=my-secret-pw" /container start mariadb-container |
Ejemplo 3: Sistema de Monitoreo de Red bajo Container Mikrotik (Prometheus y Grafana)
Para los administradores de red que necesitan herramientas de monitoreo avanzado, ejecutar Prometheus para la recolección de métricas y Grafana para la visualización dentro de contenedores puede ser una solución eficiente.
1 2 3 4 5 |
/container add name=prometheus image=prom/prometheus network=bridge /container start prometheus /container add name=grafana image=grafana/grafana network=bridge ports=3000:3000 /container start grafana |
Esto configura Prometheus para recoger métricas y Grafana para visualizar esas métricas en el puerto 3000.
Ejemplo 3: Servidor VPN bajo Container Mikrotik (OpenVPN)
Si bien MikroTik tiene capacidades VPN incorporadas, usar un contenedor puede ofrecer más flexibilidad o características específicas que no están disponibles de otra manera.
1 2 |
/container add name=openvpn-server image=kylemanna/openvpn network=bridge ports=1194:1194/udp /container start openvpn-server |
Este comando configura un servidor OpenVPN en el contenedor, exponiendo el puerto UDP 1194.
Ejemplo 4: Servidor Archivos en la Nube bajo Container Mikrotik (NextCloud)
Nextcloud permite crear tu propia nube personalizada para almacenamiento de archivos, calendarios y más, todo alojado directamente en tu MikroTik.
1 2 |
/container add name=nextcloud image=nextcloud network=bridge ports=8080:80 /container start nextcloud |
Este comando configura un servidor Nextcloud accesible en el puerto 8080.
Monitorear y Gestionar Contenedores en Mikrotik
- Listar Contenedores:
- Usa
/container print
para ver todos los contenedores y su estado.
- Usa
- Detener y Eliminar Contenedores:
- Detener:
/container stop [name]
- Eliminar:
/container remove [name]
- Detener:
Consideraciones Adicionales
- Seguridad: Asegúrate de manejar la seguridad de los contenedores correctamente, especialmente si están expuestos a la red. Mantén los contenedores actualizados y configura adecuadamente las políticas de seguridad para proteger tu red.
- Recursos: Los contenedores pueden consumir recursos significativos del sistema. Monitorea el uso de CPU y memoria para asegurar que el rendimiento del router no se vea comprometido.
- Compatibilidad: No todos los modelos de MikroTik pueden soportar el paquete “Containers”, especialmente modelos con limitaciones de hardware.
Al seguir estos pasos, puedes expandir significativamente la funcionalidad de tu dispositivo MikroTik al integrar aplicaciones y servicios basados en contenedores en tu infraestructura de red, sin necesidad de instalar hardware adicional.
¿Te ha gustado la entrada SÍGUENOS EN TWITTER O INVITANOS A UN CAFE?