routeros-container
Container auf MikroTik RouterOS verwalten
Das Ausführen von Containern auf MikroTik RouterOS erfordert das Verständnis seiner benutzerdefinierten OCI-Implementierung, die sich erheblich von standardmäßigem Docker unterscheidet. Diese Anleitung bietet Schritt-für-Schritt-Anleitungen für Container-Setup, Netzwerk, Image-Verwaltung und Lifecycle-Operationen auf RouterOS-Geräten.
Die Skill-ZIP herunterladen
In Claude hochladen
Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen
Einschalten und loslegen
Teste es
Verwendung von "routeros-container". Erstellen Sie eine VETH-Schnittstelle und Bridge für einen Container mit IP 172.17.0.2
Erwartetes Ergebnis:
1. VETH-Paar erstellen: /interface/veth/add name=veth-myapp address=172.17.0.2/24 gateway=172.17.0.1
2. Bridge erstellen: /interface/bridge/add name=containers
3. VETH zur Bridge hinzufügen: /interface/bridge/port/add bridge=containers interface=veth-myapp
4. Gateway-IP zuweisen: /ip/address/add address=172.17.0.1/24 interface=containers
Verwendung von "routeros-container". Starten Sie einen Container namens myapp und prüfen Sie seinen Status
Erwartetes Ergebnis:
1. Starten: /container/start [find tag~"myapp"]
2. Status prüfen: /container/print
3. Logs anzeigen: /log/print where topics~"container"
4. Für REST API: GET /rest/container gibt Container-Liste mit .running-Feld zurück (String "true"/"false")
Sicherheitsaudit
SicherThis 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.
Qualitätsbewertung
Was du bauen kannst
Pi-hole in einem RouterOS Container bereitstellen
Richten Sie einen Pi-hole Werbeblocker-Container mit VETH-Netzwerk, persistentem Speicher auf externer Festplatte und korrekten Umgebungsvariablen für das Web-Interface-Passwort ein.
Netinstall-Dienst über L2-Bridge-Container ausführen
Konfigurieren Sie einen Container mit Layer-2-Bridge-Zugriff, um BOOTP/TFTP Netinstall-Dienste im gleichen Netzwerksegment wie physische Geräte bereitzustellen.
Container-Verwaltung über REST API automatisieren
Verwenden Sie die RouterOS REST API, um Container programmatisch aufzulisten, zu starten, zu stoppen und zu löschen mit korrekter Polling-Strategie für asynchrone Operationen.
Probiere diese Prompts
Ich habe einen MikroTik-Router mit RouterOS 7.x. Helfen Sie mir, das Container-Subsystem zu aktivieren und grundlegendes VETH-Netzwerk einzurichten, damit ich meinen ersten Container ausführen kann.
Ich möchte einen Alpine-Container von Docker Hub auf meinem RouterOS-Gerät pullen, ihm eine VETH-Schnittstelle mit IP 172.17.0.2 zuweisen und Umgebungsvariablen setzen. Gehen Sie die Schritte mit mir durch.
Ich muss ein eigenes OCI-Image für RouterOS erstellen, das folgende Anforderungen erfüllt: einschichtig, keine gzip-Komprimierung, Docker v1 Manifest-Format. Dann importiere ich es als tar-Datei und konfiguriere Inline-Umgebungsvariablen und Mounts.
Schreiben Sie ein TypeScript-Skript, das die RouterOS REST API verwendet, um Container aufzulisten, einen nach ID zu starten, seinen Betriebsstatus zu prüfen (unter Berücksichtigung von String-Boolean-Werten) und ihn mit korrekter Retry-Logik für die Stop-Dann-Löschen-Sequenz zu löschen.
Bewährte Verfahren
- Container-Volumes immer auf externem Festplattenspeicher ablegen, niemals auf internem Flash-Speicher
- Verwenden Sie Inline env= und mount= Eigenschaften auf RouterOS 7.21+ für einfachere, eigenständige Container-Definitionen
- Bei Verwendung der REST API beachten, dass das .running-Feld Strings "true"/"false" zurückgibt, keine booleschen Werte, und DELETE erfordert, dass der Container vollständig gestoppt ist
Vermeiden
- Verwendung von /system/reboot anstelle von /system/package/apply-changes auf RouterOS 7.18+, was hochgeladene Pakete verwirft
- Versuche, mehrschichtige oder gzip-komprimierte tar-Images auszuführen, die RouterOS nicht laden kann
- Der Versuch, das /app YAML-System zu verwenden, wenn Layer-2-Bridge-Zugriff erforderlich ist, wie z.B. für Netinstall