Tutorial
RouterOS kontejneri: Docker na MikroTiku
Pokrenite Docker kontejnere na MikroTik RouterOS v7: omogućite kontejnerski način, postavite veth mrežu i pohranu te upravljajte u širokom opsegu.
Sažetak MikroTik RouterOS v7 može pokretati Docker-kompatibilne kontejnere izravno na usmjerivaču, pa DNS filtriranje, agenti za nadzor i male mrežne usluge žive uz routing ravninu umjesto na zasebnom uređaju. Ovaj vodič pokriva zahtjeve za hardver i arhitekturu, sigurno omogućavanje container device-mode, izgradnju veth i bridge mreže s NAT-om, postavljanje vašeg prvog kontejnera te upravljanje kontejnerima na cijeloj floti. RouterOS 7.23 (svibanj 2026.) proširio je katalog gotovih kontejnerskih aplikacija, čineći ovo praktičnom opcijom kako za ISP-ove tako i za graditelje laboratorija.
Što Su Kontejneri na MikroTik RouterOS-u?
Kontejneri na MikroTik RouterOS-u MikroTikova su implementacija Linux kontejnera koja omogućuje RouterOS v7 uređaju da pokreće izolirane, Docker-kompatibilne aplikacijske imagee izravno na usmjerivaču. Rade s imageima iz Docker Huba, GCR-a, Quaya i drugih registryja, i premda RouterOS koristi vlastitu CLI sintaksu umjesto naredbe docker, temeljno ponašanje je isto — povucite image, dajte mu mrežu, montirajte pohranu i pokrenite ga. (MikroTik dokumentacija)
Za ISP ili laboratorij to znači da se male mrežno bliske usluge mogu smjestiti uz routing ravninu: Pi-hole ili AdGuard DNS filtar, agent za nadzor, reverzni proxy ili IoT most. Stabilno izdanje RouterOS 7.23 od 25. svibnja 2026. dodalo je dugačak popis gotovih aplikacija — uključujući paperless-ngx, nextcloud, lorawan-stack, birdnet-go te Docker upravljačka sučelja poput portainer i dockge — uz novi prekidač network-outgoing-access koji blokira kontejner da pokrene odlazni promet. (RouterOS 7.23 changelog)
Zahtjevi i Hardver
container paket kompatibilan je s arhitekturama arm, arm64 i x86 i mora se instalirati prije svega ostalog. Povlačenje udaljenog imagea zahtijeva mnogo slobodnog prostora, pa MikroTik preporučuje vanjsku pohranu umjesto interne flash memorije uređaja. (MikroTik dokumentacija)
Planirajte vanjski medij na USB, SATA ili NVMe, formatiran datotečnim sustavom koji RouterOS podržava. MikroTik predlaže disk sposoban za najmanje 100 MB/s sekvencijalne propusnosti i 10K nasumičnih IOPS-a — sporiji diskovi čine raspakiravanje imagea mučno dugim. Izbjegavajte smještanje kontejnerskih volumena na ugrađenu pohranu, koja je mala i troši se pod obrascima pisanja kontejnera. Uređaji s vrlo ograničenim flashom trebali bi koristiti unaprijed izgrađene imagee na priključenom disku umjesto povlačenja na daljinu.
Sigurno Omogućite container device-mode
Kontejneri su prema zadanim postavkama onemogućeni i, s dobrim razlogom, zahtijevaju fizički pristup za uključivanje. Omogućite značajku s:
/system/device-mode/update container=yesRouterOS zatim čeka da potvrdite pritiskom na reset tipku ili hladnim ponovnim pokretanjem. Ova brana fizičke potvrde namjerna je sigurnosna kontrola: jednom kad je kontejnerski način uključen, kontejneri se mogu dodavati, pokretati i uklanjati na daljinu, a zlonamjeran image može postati uporište na usmjerivaču. MikroTik je u vezi s time izravan — ako je vaš RouterOS uređaj kompromitiran, kontejneri čine instaliranje zlonamjernog softvera trivijalnim, a za imagee trećih strana ne postoji sigurnosno jamstvo.
Tretirajte usmjerivač koji ugošćuje kontejnere kao točno jednako siguran kao najmanje pouzdan image koji na njemu pokrećete. Postavljajte samo imagee kojima vjerujete, držite uređaj iza vatrozida i pročitajte naš vodič za sigurnosne operacije device-mode prije nego što ovo omogućite u produkciji.
Izgradite Kontejnersku Mrežu
Kontejnerima su potrebni virtualno sučelje, bridge i NAT kako bi došli do interneta. Obrazac ispod zrcali “bridge” mrežu u Dockeru. Najprije stvorite veth sučelje i bridge koji dijeli njegovu gateway adresu:
/interface/veth/add name=veth1 address=172.17.0.2/24 gateway=172.17.0.1/interface/bridge/add name=containers/ip/address/add address=172.17.0.1/24 interface=containers/interface/bridge/port add bridge=containers interface=veth1Jedan veth može posluživati mnoge kontejnere, a stvaranje dodatnih veth/bridge parova omogućuje izolaciju grupa kontejnera jedne od drugih. Ako ste novi u RouterOS bridgingu, naš vodič za konfiguraciju bridgea objašnjava temeljni model. Zatim dodajte masquerade pravilo kako bi se odlazni kontejnerski promet preveo — cijelu sliku potražite u vodiču za konfiguraciju NAT-a:
/ip/firewall/nat/add chain=srcnat action=masquerade src-address=172.17.0.0/24Postavite Svoj Prvi Kontejner
Usmjerite registry i privremeni direktorij za raspakiravanje na svoj vanjski disk, a zatim dodajte image. Pi-hole primjer ispod kanonski je iz MikroTikove dokumentacije:
/container/config/set registry-url=https://registry-1.docker.io tmpdir=disk1/tmp/container/add remote-image=pihole/pihole interface=veth1 root-dir=disk1/images/pihole name=pihole logging=yesDodavanje kontejnera pokreće preuzimanje i raspakiravanje, ali ga ne pokreće. Provjerite napredak s /container/print i pričekajte dok ne bude status=stopped, a zatim ga pokrenite:
/container/start piholeNaposljetku, objavite uslugu prosljeđivanjem porta s usmjerivača na veth adresu:
/ip firewall nat add action=dst-nat chain=dstnat dst-address=192.168.88.1 dst-port=80 protocol=tcp to-addresses=172.17.0.2 to-ports=80Pi-hole sada odgovara na LAN IP adresi usmjerivača. Pokretanje DNS filtriranja na ovaj način alternativa je nativnim popisima za blokiranje u RouterOS-u — ako preferirate put bez kontejnera, pogledajte naš RouterOS adlist vodič.
Upravljajte Kontejnerima na Floti
Jedan kontejner na jednom usmjerivaču je jednostavan. Pravo operativno pitanje za ISP jest dosljednost: isti image, ista veth i NAT shema, isti raspored pohrane te ista start-on-boot i memorijska ograničenja na svakom uređaju. RouterOS vam daje osnovne gradivne elemente — start-on-boot=yes preživljava ponovna pokretanja, a memory-high ili memory-max ograničavaju RAM po kontejneru kako odbjegla usluga ne bi izgladnjivala routing ravninu:
/container/config/set memory-high=200M/container/set pihole start-on-boot=yesTeški dio je učiniti to identično na desecima ili stotinama udaljenih usmjerivača, a zatim dokazati da se svaki od njih zaista vratio u rad nakon ponovnog pokretanja — osobito kad uređaj sjedi iza CGNAT-a i ne možete jednostavno doseći njegovu javnu IP adresu.
Savjeti
- Držite svaki kontejnerski volumen na vanjskom disku; nikada na internom NAND-u.
- Koristite zaseban veth/bridge par za izolaciju nepouzdanih kontejnera od pouzdanih.
- Postavite
memory-maxna sve čemu ne vjerujete u potpunosti kako bi usmjerivač ostao odziven. - Za čistu testnu okolinu prije diranja u produkciju, pokrenite iste imagee na virtualiziranoj CHR instanci prije postavljanja na fizičke usmjerivače.
Napravite Sljedeći Korak
Kontejneri pretvaraju MikroTik usmjerivač u sićušnog domaćina aplikacija, ali flota takvih domaćina treba orkestraciju. MKController centralno izrađuje predloške RouterOS konfiguracije, primjenjuje ih na svaki uređaj u vašem inventaru i prati odstupanja kako biste vidjeli koji je usmjerivač odstupio — a putem NATClouda doseže uređaje iza CGNAT-a kako bi potvrdio da se kontejner ponovno pokrenuo nakon održavanja. To zatvara jaz između ručne konfiguracije jednog kontejnera i njihova pouzdanog rada na cijeloj ISP mreži.