Compétences routeros-container
📦

routeros-container

Sûr

Gérer des conteneurs sur MikroTik RouterOS

L'exécution de conteneurs sur MikroTik RouterOS nécessite de comprendre son implémentation OCI personnalisée, qui diffère significativement de Docker standard. Cette compétence fournit un guide étape par étape pour la configuration des conteneurs, la mise en réseau, la gestion des images et les opérations de cycle de vie sur les appareils RouterOS.

Prend en charge: Claude Codex Code(CC)
🥉 73 Bronze
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "routeros-container". Créer une interface VETH et un pont pour un conteneur avec l'IP 172.17.0.2

Résultat attendu:

1. Créer un paire VETH : /interface/veth/add name=veth-myapp address=172.17.0.2/24 gateway=172.17.0.1
2. Créer un pont : /interface/bridge/add name=containers
3. Ajouter VETH au pont : /interface/bridge/port/add bridge=containers interface=veth-myapp
4. Attribuer l'IP de passerelle : /ip/address/add address=172.17.0.1/24 interface=containers

Utilisation de "routeros-container". Démarrer un conteneur nommé myapp et vérifier son état

Résultat attendu:

1. Démarrer : /container/start [find tag~"myapp"]
2. Vérifier l'état : /container/print
3. Voir les journaux : /log/print where topics~"container"
4. Pour l'API REST : GET /rest/container retourne la liste des conteneurs avec le champ .running (chaîne "true"/"false")

Audit de sécurité

Sûr
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
Fichiers analysés
348
Lignes analysées
0
résultats
2
Total des audits
Aucun problème de sécurité trouvé

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
33
Communauté
100
Sécurité
100
Conformité aux spécifications

Ce que vous pouvez construire

Déployer Pi-hole dans un conteneur RouterOS

Configurer un conteneur Pi-hole de blocage de publicités avec la mise en réseau VETH, un stockage persistant sur disque externe et les variables d'environnement appropriées pour le mot de passe de l'interface web.

Exécuter un service netinstall via un conteneur en pont L2

Configurer un conteneur avec un accès en pont de couche 2 pour fournir des services netinstall BOOTP/TFTP sur le même segment réseau que les appareils physiques.

Automatiser la gestion des conteneurs via l'API REST

Utiliser l'API REST RouterOS pour lister, démarrer, arrêter et supprimer des conteneurs de manière programmatique avec un sondage approprié pour les opérations asynchrones.

Essayez ces prompts

Débutant : Activer les conteneurs sur mon routeur
J'ai un routeur MikroTik fonctionnant sous RouterOS 7.x. Aidez-moi à activer le sous-système de conteneurs et à configurer une mise en réseau VETH de base pour pouvoir exécuter mon premier conteneur.
Intermédiaire : Récupérer et exécuter un conteneur depuis Docker Hub
Je souhaite récupérer un conteneur Alpine depuis Docker Hub sur mon appareil RouterOS, lui attribuer une interface VETH avec l'IP 172.17.0.2 et définir des variables d'environnement. Guidez-moi à travers les étapes.
Avancé : Construire et importer une image monocouche personnalisée
Je dois construire une image OCI personnalisée pour RouterOS qui répond à ses exigences : une seule couche, pas de compression gzip, format de manifeste Docker v1. Ensuite, l'importer en tant que fichier tar et configurer les variables d'environnement inline et les montages.
Expert : Automatisation du cycle de vie des conteneurs via l'API REST
Écrivez un script TypeScript qui utilise l'API REST RouterOS pour lister les conteneurs, en démarrer un par ID, vérifier son état d'exécution (en tenant compte des valeurs booléennes sous forme de chaînes), et le supprimer avec une logique de retry appropriée pour la séquence arrêt puis suppression.

Bonnes pratiques

  • Placez toujours les volumes des conteneurs sur un stockage sur disque externe, jamais sur le stockage flash interne
  • Utilisez les propriétés env= et mount= inline sur RouterOS 7.21+ pour des définitions de conteneurs plus simples et autonomes
  • Lors de l'utilisation de l'API REST, gardez à l'esprit que le champ .running retourne des chaînes "true"/"false", et non des valeurs booléennes, et que DELETE nécessite que le conteneur soit complètement arrêté au préalable

Éviter

  • Utiliser /system/reboot au lieu de /system/package/apply-changes sur RouterOS 7.18+ qui supprimera les paquets téléchargés
  • Tenter d'exécuter des images tar multicouches ou compressées avec gzip que RouterOS ne peut pas charger
  • Essayer d'utiliser le système /app YAML lorsque l'accès en pont de couche 2 est requis, comme pour netinstall

Foire aux questions

De quelle version de RouterOS ai-je besoin pour la prise en charge des conteneurs ?
RouterOS 7.x avec le paquet supplémentaire container installé. La fonctionnalité de conteneur varie selon la version, avec des changements significatifs entre les versions 7.20 et 7.21 pour les variables d'environnement et la syntaxe des montages.
Pourquoi RouterOS nécessite-t-il le mode appareil pour les conteneurs ?
Le mode appareil est une fonctionnalité de sécurité de RouterOS qui contrôle l'accès à plusieurs fonctionnalités, dont les conteneurs. Il nécessite une confirmation physique via le bouton de réinitialisation ou un cycle d'alimentation pour empêcher l'activation à distance.
Puis-je utiliser des images Docker standard sur RouterOS ?
Les récupérations depuis Docker Hub via le registre fonctionnent directement. Les imports de tar locaux doivent être monocouches, non compressés et utiliser le format de manifeste Docker v1. Les images multicouches et compressées avec gzip ne sont pas prises en charge.
Quelle est la différence entre la configuration env/mount inline et nommée ?
Inline (env= et mount= sur /container/add) est l'approche moderne pour RouterOS 7.21+ qui maintient les conteneurs autonomes. Les listes nommées nécessitent des objets séparés /container/envs/add et /container/mounts/add et fonctionnent sur un plus grand nombre de versions.
Comment gérer les conteneurs de manière programmatique ?
Utilisez l'API REST RouterOS à /rest/container. Les points d'accès principaux incluent GET pour lister, POST vers /container/start ou /container/stop, et DELETE pour supprimer. Le champ .running est une chaîne, pas un booléen.
Quand dois-je utiliser /app YAML plutôt qu'une configuration manuelle de conteneur ?
Utilisez /app YAML (RouterOS 7.22+) pour les déploiements standard avec redirection de ports. Utilisez la configuration manuelle VETH/pont lorsque vous avez besoin d'un accès de couche 2, comme pour netinstall, le relais DHCP ou l'accès réseau direct.

Détails du développeur

Structure de fichiers

📄 SKILL.md