routeros-container
管理 MikroTik RouterOS 上的容器
在 MikroTik RouterOS 上運行容器需要了解其自訂的 OCI 實作方式,這與標準 Docker 有顯著差異。本技能提供在 RouterOS 裝置上進行容器設定、網路配置、映像檔管理及生命週期操作的逐步指引。
下載技能 ZIP
在 Claude 中上傳
前往 設定 → 功能 → 技能 → 上傳技能
開啟並開始使用
測試它
正在使用「routeros-container」。 為容器建立具有 IP 172.17.0.2 的 VETH 介面和橋接
預期結果:
1. 建立 VETH 配對: /interface/veth/add name=veth-myapp address=172.17.0.2/24 gateway=172.17.0.1
2. 建立橋接: /interface/bridge/add name=containers
3. 將 VETH 加入橋接: /interface/bridge/port/add bridge=containers interface=veth-myapp
4. 指派閘道 IP: /ip/address/add address=172.17.0.1/24 interface=containers
正在使用「routeros-container」。 啟動名為 myapp 的容器並檢查其狀態
預期結果:
1. 啟動: /container/start [find tag~"myapp"]
2. 檢查狀態: /container/print
3. 查看日誌: /log/print where topics~"container"
4. 對於 REST API: GET /rest/container 會傳回容器清單,其中 .running 欄位為字串 "true"/"false"
安全審計
安全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.
品質評分
你能建構什麼
在 RouterOS 容器中部署 Pi-hole
設定具有 VETH 網路的 Pi-hole 廣告封鎖容器,在外接磁碟上進行持續性儲存,並為網頁介面密碼設定適當的環境變數。
透過 L2 橋接容器執行 netinstall 服務
設定具有第二層橋接存取權的容器,以在同一網路區段上為實體裝置提供 BOOTP/TFTP netinstall 服務。
透過 REST API 自動化容器管理
使用 RouterOS REST API 以程式方式列出、啟動、停止和刪除容器,並正確輪詢非同步作業。
試試這些提示
我的路由器執行的是 RouterOS 7.x。請幫我啟用容器子系統並設定基本的 VETH 網路,以便能夠執行我的第一個容器。
我想在我的 RouterOS 裝置上從 Docker Hub 下載 Alpine 容器,為其指派 IP 為 172.17.0.2 的 VETH 介面,並設定環境變數。請逐步引導我完成這些步驟。
我需要為 RouterOS 建置符合其需求的自訂 OCI 映像檔:單一層、無 gzip 壓縮、Docker v1 資訊清單格式。然後將其匯入為 tar 檔案,並設定內聯環境變數和掛載。
撰寫一個 TypeScript 指令碼,使用 RouterOS REST API 列出容器、按 ID 啟動其中一個、檢查其執行狀態(考量字串布林值),並使用適當的重試邏輯執行停止後刪除的順序來刪除它。
最佳實務
- 務必將容器磁碟區放在外接磁碟儲存上,切勿放在內部快閃儲存上
- 在 RouterOS 7.21+ 上使用內聯 env= 和 mount= 屬性,以獲得更簡潔的自我封裝容器定義
- 使用 REST API 時,請記住 .running 欄位傳回的是字串 "true"/"false",而非布林值,且刪除前需要先完全停止容器
避免
- 在 RouterOS 7.18+ 上使用 /system/reboot 而非 /system/package/apply-changes,這會丟棄已上傳的套件
- 嘗試執行多層或 gzip 壓縮的 tar 映像檔,RouterOS 無法載入此類映像檔
- 在需要第二層橋接存取時嘗試使用 /app YAML 系統,例如 netinstall 的情況
常見問題
我需要哪個 RouterOS 版本才能支援容器?
為什麼 RouterOS 需要裝置模式才能使用容器?
我可以在 RouterOS 上使用標準 Docker 映像檔嗎?
內聯和命名 env/mount 設定之間有何差異?
如何以程式方式管理容器?
何時應該使用 /app YAML 而非手動容器設定?
開發者詳情
檔案結構
📄 SKILL.md