Tutorial
RouterOS kontejneri: Docker na MikroTik
Pokrenite Docker kontejnere na MikroTik RouterOS v7: omogućite režim kontejnera, podesite veth mrežu i skladište, pa upravljajte u velikom obimu.
Rezime MikroTik RouterOS v7 može da pokreće Docker-kompatibilne kontejnere direktno na ruteru, tako da filtriranje DNS-a, agenti za nadzor i male mrežne usluge žive pored rutirajuće ravni umesto na zasebnom uređaju. Ovaj vodič pokriva zahteve za hardver i arhitekturu, bezbedno omogućavanje device-mode za kontejner, izgradnju veth i bridge mreže sa NAT-om, postavljanje vašeg prvog kontejnera i upravljanje kontejnerima preko cele flote. RouterOS 7.23 (maj 2026) je proširio katalog spremnih kontejnerskih aplikacija, čime je ovo postalo praktična opcija kako za ISP-ove tako i za graditelje laboratorija.
Šta Su Kontejneri na MikroTik RouterOS?
Kontejneri na MikroTik RouterOS su MikroTikova implementacija Linux kontejnera koja uređaju RouterOS v7 omogućava da direktno na ruteru pokreće izolovane, Docker-kompatibilne slike aplikacija. Rade sa slikama iz Docker Hub, GCR, Quay i drugih registara, i iako RouterOS koristi sopstvenu CLI sintaksu umesto docker komande, osnovno ponašanje je isto — povučete sliku, date joj mrežu, montirate skladište i pokrenete je. (MikroTik dokumentacija)
Za ISP ili laboratoriju, ovo znači da se male, mreži bliske usluge mogu smestiti zajedno sa rutirajućom ravni: Pi-hole ili AdGuard DNS filter, agent za nadzor, reverzni proksi ili IoT most. Stabilno izdanje RouterOS 7.23 od 25. maja 2026. dodalo je dugačku listu spremnih aplikacija — uključujući paperless-ngx, nextcloud, lorawan-stack, birdnet-go i prednje strane za upravljanje Docker-om poput portainer i dockge — uz novi prekidač network-outgoing-access koji sprečava kontejner da pokrene odlazni saobraćaj. (RouterOS 7.23 changelog)
Zahtevi i Hardver
Container paket je kompatibilan sa arhitekturama arm, arm64 i x86 i mora se instalirati pre svega ostalog. Povlačenje udaljene slike zahteva mnogo slobodnog prostora, pa MikroTik preporučuje eksterno skladište umesto interne fleš memorije uređaja. (MikroTik dokumentacija)
Planirajte eksterni medij preko USB, SATA ili NVMe, formatiran sistemom datoteka koji RouterOS podržava. MikroTik predlaže disk sposoban za najmanje 100 MB/s sekvencijalne propusnosti i 10K nasumičnih IOPS — sporiji diskovi čine raspakivanje slike mučno dugim. Izbegavajte postavljanje kontejnerskih volumena na ugrađeno skladište, koje je malo i troši se pod obrascima upisa kontejnera. Uređaji sa veoma ograničenom fleš memorijom treba da koriste unapred izgrađene slike na priključenom disku umesto da ih povlače na daljinu.
Bezbedno Omogućite Device-Mode za Kontejner
Kontejneri su podrazumevano onemogućeni i, s dobrim razlogom, zahtevaju fizički pristup da bi se uključili. Omogućite funkciju sa:
/system/device-mode/update container=yesRouterOS zatim čeka da potvrdite pritiskom na reset dugme ili hladnim ponovnim pokretanjem. Ova kapija fizičke potvrde je namerna bezbednosna kontrola: kada je režim kontejnera uključen, kontejneri se mogu dodavati, pokretati i uklanjati na daljinu, a zlonamerna slika može postati uporište na ruteru. MikroTik je u vezi s tim direktan — ako je vaš RouterOS uređaj kompromitovan, kontejneri čine instalaciju zlonamernog softvera trivijalnom, a za slike trećih strana nema nikakve bezbednosne garancije.
Tretirajte ruter koji hostuje kontejnere kao tačno onoliko bezbedan koliko je najmanje pouzdana slika koju na njemu pokrećete. Postavljajte samo slike kojima verujete, držite uređaj iza vatrozida i pre nego što ovo omogućite u produkciji pročitajte naš vodič za bezbednosno upravljanje device-mode.
Izgradite Kontejnersku Mrežu
Kontejnerima su potrebni virtuelni interfejs, bridge i NAT da bi došli do interneta. Šablon ispod odražava „bridge” mrežu u Docker-u. Prvo kreirajte veth interfejs i bridge koji deli njegovu adresu mrežnog prolaza:
/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 da opslužuje mnogo kontejnera, a kreiranje dodatnih veth/bridge parova omogućava vam da izolujete grupe kontejnera jedne od drugih. Ako ste novi u RouterOS bridžingu, naš tutorijal za konfiguraciju bridge-a objašnjava osnovni model. Zatim dodajte masquerade pravilo da bi se odlazni kontejnerski saobraćaj prevodio — celu 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
Usmerite registry i privremeni direktorijum za raspakivanje na vaš eksterni disk, pa dodajte sliku. Pi-hole primer ispod je kanonski iz MikroTik 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 raspakivanje, ali ga ne pokreće. Proverite napredak sa /container/print i sačekajte dok ne bude status=stopped, pa ga pokrenite:
/container/start piholeNa kraju, objavite uslugu prosleđivanjem porta sa rutera 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 rutera. Pokretanje DNS filtriranja na ovaj način je alternativa nativnim listama blokiranja RouterOS-a — ako preferirate put bez kontejnera, pogledajte naš RouterOS adlist tutorijal.
Upravljajte Kontejnerima Preko Flote
Jedan kontejner na jednom ruteru je lak. Pravo operativno pitanje za ISP je doslednost: ista slika, ista veth i NAT šema, isti raspored skladišta i 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 tako da usluga van kontrole ne može da izgladni rutirajuću ravan:
/container/config/set memory-high=200M/container/set pihole start-on-boot=yesTeški deo je uraditi ovo identično na desetinama ili stotinama udaljenih rutera, pa zatim dokazati da se svaki zaista vratio nakon ponovnog pokretanja — naročito kada uređaj sedi iza CGNAT-a i ne možete jednostavno da dođete do njegove javne IP adrese.
Saveti
- Držite svaki kontejnerski volumen na eksternom disku; nikada na internom NAND-u.
- Koristite zaseban veth/bridge par za izolaciju nepouzdanih kontejnera od pouzdanih.
- Podesite
memory-maxna sve čemu ne verujete u potpunosti da bi ruter ostao odzivan. - Za čisto okruženje za testiranje pre nego što dirnete produkciju, pokrenite iste slike na virtuelizovanoj CHR instanci pre nego što ih postavite na fizičke rutere.
Napravite Sledeći Korak
Kontejneri pretvaraju MikroTik ruter u sićušnog domaćina aplikacija, ali floti takvih domaćina potrebna je orkestracija. MKController centralno pravi šablone RouterOS konfiguracije, primenjuje ih na svaki uređaj u vašem inventaru i prati odstupanja tako da vidite koji ruter je odstupio — a preko NATCloud dolazi do uređaja iza CGNAT-a da potvrdi da se kontejner ponovo pokrenuo nakon održavanja. To zatvara jaz između ručne konfiguracije jednog kontejnera i njihovog pouzdanog upravljanja preko cele ISP mreže.