Habilidades routeros-container
📦

routeros-container

Seguro

Gestionar contenedores en MikroTik RouterOS

Ejecutar contenedores en MikroTik RouterOS requiere comprender su implementación OCI personalizada, que difiere significativamente de Docker estándar. Esta habilidad proporciona guía paso a paso para la configuración de contenedores, redes, gestión de imágenes y operaciones del ciclo de vida en dispositivos RouterOS.

Soporta: Claude Codex Code(CC)
🥉 73 Bronce
1

Descargar el ZIP de la skill

2

Subir en Claude

Ve a Configuración → Capacidades → Skills → Subir skill

3

Activa y empieza a usar

Pruébalo

Usando "routeros-container". Crear una interfaz VETH y bridge para un contenedor con IP 172.17.0.2

Resultado esperado:

1. Crear par VETH: /interface/veth/add name=veth-myapp address=172.17.0.2/24 gateway=172.17.0.1
2. Crear bridge: /interface/bridge/add name=containers
3. Añadir VETH al bridge: /interface/bridge/port/add bridge=containers interface=veth-myapp
4. Asignar IP del gateway: /ip/address/add address=172.17.0.1/24 interface=containers

Usando "routeros-container". Iniciar un contenedor llamado myapp y verificar su estado

Resultado esperado:

1. Iniciar: /container/start [find tag~"myapp"]
2. Verificar estado: /container/print
3. Ver registros: /log/print where topics~"container"
4. Para API REST: GET /rest/container devuelve lista de contenedores con campo .running (string "true"/"false")

Auditoría de seguridad

Seguro
v2 • 4/16/2026

This skill is a Markdown documentation file providing instructions and examples for the MikroTik RouterOS /container subsystem. The static scanner flagged 171 patterns, but all are false positives. The 'external_commands' detections match RouterOS CLI syntax inside Markdown code fences, not actual shell execution. The 'network' detections reference example URLs and IPs in documentation snippets. The 'weak cryptographic algorithm' and 'path traversal' findings have no basis in the content. No executable code exists in this file - it is purely instructional documentation for network administrators.

1
Archivos escaneados
348
Líneas analizadas
0
hallazgos
2
Auditorías totales
No se encontraron problemas de seguridad

Puntuación de calidad

38
Arquitectura
100
Mantenibilidad
87
Contenido
33
Comunidad
100
Seguridad
100
Cumplimiento de la especificación

Lo que puedes crear

Desplegar Pi-hole en un contenedor RouterOS

Configurar un contenedor Pi-hole de bloqueo de anuncios con redes VETH, almacenamiento persistente en disco externo y variables de entorno apropiadas para la contraseña de la interfaz web.

Ejecutar servicio netinstall mediante contenedor con bridge L2

Configurar un contenedor con acceso bridge de Capa 2 para proporcionar servicios BOOTP/TFTP netinstall en el mismo segmento de red que los dispositivos físicos.

Automatizar gestión de contenedores mediante API REST

Usar la API REST de RouterOS para listar, iniciar, detener y eliminar contenedores programáticamente con polling adecuado para operaciones asíncronas.

Prueba estos prompts

Principiante: Habilitar contenedores en mi router
Tengo un router MikroTik ejecutando RouterOS 7.x. Ayúdame a habilitar el subsistema de contenedores y configurar redes VETH básicas para poder ejecutar mi primer contenedor.
Intermedio: Extraer y ejecutar un contenedor desde Docker Hub
Quiero extraer un contenedor Alpine desde Docker Hub en mi dispositivo RouterOS, asignarle una interfaz VETH con IP 172.17.0.2 y establecer variables de entorno. Guiame a través de los pasos.
Avanzado: Construir e importar una imagen personalizada de una sola capa
Necesito construir una imagen OCI personalizada para RouterOS que cumpla sus requisitos: una sola capa, sin compresión gzip, formato manifest Docker v1. Luego importarla como archivo tar y configurar variables de entorno y montajes inline.
Experto: Automatización del ciclo de vida de contenedores con API REST
Escribe un script TypeScript que use la API REST de RouterOS para listar contenedores, iniciar uno por ID, verificar su estado de ejecución (teniendo en cuenta los valores booleanos como string) y eliminarlo con lógica de reintento para la secuencia detener-luego-eliminar.

Mejores prácticas

  • Siempre colocar los volúmenes de contenedores en almacenamiento en disco externo, nunca en almacenamiento flash interno
  • Usar propiedades inline env= y mount= en RouterOS 7.21+ para definiciones de contenedores más simples y autocontenidas
  • Al usar la API REST, recordar que el campo .running devuelve strings "true"/"false", no valores booleanos, y DELETE requiere que el contenedor esté completamente detenido primero

Evitar

  • Usar /system/reboot en lugar de /system/package/apply-changes en RouterOS 7.18+ que descartará los paquetes cargados
  • Intentar ejecutar imágenes tar multicapa o comprimidas con gzip que RouterOS no puede cargar
  • Intentar usar el sistema /app YAML cuando se requiere acceso bridge de Capa 2, como para netinstall

Preguntas frecuentes

¿Qué versión de RouterOS necesito para soporte de contenedores?
RouterOS 7.x con el paquete extra de contenedores instalado. La función de contenedores varía según la versión, con cambios significativos entre 7.20 y 7.21 para variables de entorno y sintaxis de montaje.
¿Por qué RouterOS necesita el modo dispositivo para contenedores?
El modo dispositivo es una función de seguridad de RouterOS que controla múltiples características incluyendo contenedores. Requiere confirmación física mediante botón de reinicio o ciclo de energía para prevenir activación remota.
¿Puedo usar imágenes Docker estándar en RouterOS?
Las extracciones de registros desde Docker Hub funcionan directamente. Las importaciones tar locales deben ser de una sola capa, sin compresión y usar formato manifest Docker v1. Las imágenes multicapa y comprimidas con gzip no son soportadas.
¿Cuál es la diferencia entre configuración env/mount inline y nombrada?
Inline (env= y mount= en /container/add) es el enfoque moderno de 7.21+ que mantiene los contenedores autocontenidos. Las listas nombradas requieren objetos separados /container/envs/add y /container/mounts/add y funcionan en más versiones.
¿Cómo gestiono los contenedores programáticamente?
Usar la API REST de RouterOS en /rest/container. Los endpoints clave incluyen GET para listar, POST a /container/start o /container/stop, y DELETE para eliminar. El campo .running es un string, no un booleano.
¿Cuándo debo usar /app YAML versus configuración manual de contenedores?
Usar /app YAML (RouterOS 7.22+) para despliegues estándar con reenvío de puertos. Usar configuración manual VETH/bridge cuando se necesite acceso de Capa 2, como para netinstall, relay DHCP o acceso directo a la red.

Detalles del desarrollador

Estructura de archivos

📄 SKILL.md