Tutorial
RouterOS-kontit: Docker MikroTikissä
Aja Docker-tyylisiä kontteja MikroTik RouterOS v7:ssä: ota konttitila käyttöön, määritä veth-verkko ja tallennustila, ota käyttöön laajasti.
Yhteenveto MikroTik RouterOS v7 voi ajaa Docker-yhteensopivia kontteja suoraan reitittimellä, joten DNS-suodatus, valvonta-agentit ja pienet verkkopalvelut elävät reititystason vieressä eivätkä erillisellä laitteella. Tämä opas käsittelee laitteisto- ja arkkitehtuurivaatimukset, container-laitetilan turvallisen käyttöönoton, veth- ja bridge-verkon rakentamisen NATin kanssa, ensimmäisen kontin käyttöönoton ja konttien hallinnan koko laitekannassa. RouterOS 7.23 (toukokuu 2026) laajensi valmiina ajettavien konttisovellusten valikoimaa, mikä tekee tästä käytännöllisen vaihtoehdon niin operaattoreille kuin laboratoriorakentajillekin.
Mitä Kontit Ovat MikroTik RouterOS:ssä?
Kontit MikroTik RouterOS:ssä ovat MikroTikin toteutus Linux-konteista, joka antaa RouterOS v7 -laitteen ajaa eristettyjä, Docker-yhteensopivia sovellusimageja suoraan reitittimellä. Ne toimivat Docker Hubin, GCR:n, Quayn ja muiden rekistereiden imagejen kanssa, ja vaikka RouterOS käyttää omaa CLI-syntaksiaan docker-komennon sijaan, taustalla oleva toiminta on sama — vedä image, anna sille verkko, liitä tallennustila ja aja se. (MikroTik-dokumentaatio)
Operaattorille tai laboratoriolle tämä tarkoittaa, että pienet verkon läheiset palvelut voidaan sijoittaa reititystason yhteyteen: Pi-hole- tai AdGuard-DNS-suodatin, valvonta-agentti, käänteinen välityspalvelin tai IoT-silta. RouterOS 7.23 -vakaaversio 25. toukokuuta 2026 lisäsi pitkän listan valmiina ajettavia sovelluksia — mukaan lukien paperless-ngx, nextcloud, lorawan-stack, birdnet-go sekä Docker-hallintakäyttöliittymiä kuten portainer ja dockge — sekä uuden network-outgoing-access-kytkimen, jolla kontti voidaan estää aloittamasta lähtevää liikennettä. (RouterOS 7.23 -muutosloki)
Vaatimukset ja Laitteisto
container-paketti on yhteensopiva arm-, arm64- ja x86-arkkitehtuurien kanssa, ja se on asennettava ennen mitään muuta. Etäimagen vetäminen vaatii paljon vapaata tilaa, joten MikroTik suosittelee ulkoista tallennustilaa laitteen sisäisen flash-muistin sijaan. (MikroTik-dokumentaatio)
Varaa ulkoinen media USB:llä, SATAlla tai NVMe:llä, alustettuna RouterOS:n tukemalla tiedostojärjestelmällä. MikroTik suosittelee levyä, joka pystyy vähintään 100 MB/s peräkkäiseen läpäisyyn ja 10K satunnaiseen IOPS:iin — hitaammat levyt tekevät imagen purkamisesta tuskaisen pitkän. Vältä konttivolyymien sijoittamista sisäiseen tallennustilaan, joka on pieni ja kuluu konttien kirjoituskuvioiden alla. Laitteiden, joissa on hyvin rajallinen flash, kannattaa käyttää valmiiksi rakennettuja imageja liitetyllä levyllä etävetämisen sijaan.
Ota container-laitetila Käyttöön Turvallisesti
Kontit ovat oletuksena pois käytöstä ja vaativat hyvästä syystä fyysisen pääsyn käyttöönottoon. Ota ominaisuus käyttöön komennolla:
/system/device-mode/update container=yesRouterOS odottaa sitten, että vahvistat painamalla reset-painiketta tai tekemällä kylmäkäynnistyksen. Tämä fyysisen vahvistuksen portti on tarkoituksellinen turvakontrolli: kun konttitila on päällä, kontteja voidaan lisätä, käynnistää ja poistaa etänä, ja haitallisesta imagesta voi tulla jalansija reitittimellä. MikroTik on tästä suorasanainen — jos RouterOS-laitteesi on vaarantunut, kontit tekevät haitallisen ohjelmiston asentamisesta triviaalia, eikä kolmannen osapuolen imageille ole turvatakuuta.
Kohtele kontteja isännöivää reititintä täsmälleen yhtä turvallisena kuin vähiten luotettu image, jonka sillä ajat. Ota käyttöön vain imageja, joihin luotat, pidä laite palomuurin takana ja lue device-mode-tietoturvan toimintaopas, ennen kuin otat tämän käyttöön tuotannossa.
Rakenna Konttiverkko
Kontit tarvitsevat virtuaalisen rajapinnan, bridgen ja NATin päästäkseen internetiin. Alla oleva malli vastaa Dockerin “bridge”-verkkoa. Luo ensin veth-rajapinta ja bridge, joka jakaa sen yhdyskäytäväosoitteen:
/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=veth1Yksi veth voi palvella monia kontteja, ja ylimääräisten veth/bridge-parien luominen antaa eristää konttiryhmiä toisistaan. Jos RouterOS-bridgaus on sinulle uutta, bridge-konfiguraatio-oppaamme selittää taustalla olevan mallin. Lisää seuraavaksi masquerade-sääntö, jotta lähtevä konttiliikenne käännetään — koko kuvan saat NAT-konfiguraatio-oppaasta:
/ip/firewall/nat/add chain=srcnat action=masquerade src-address=172.17.0.0/24Ota Ensimmäinen Konttisi Käyttöön
Ohjaa registry ja väliaikainen purkamishakemisto ulkoiselle levyllesi ja lisää sitten image. Alla oleva Pi-hole-esimerkki on kanoninen MikroTikin dokumentaatiosta:
/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=yesKontin lisääminen aloittaa latauksen ja purkamisen mutta ei aja sitä. Tarkista edistyminen komennolla /container/print ja odota, kunnes status=stopped, ja käynnistä se sitten:
/container/start piholeJulkaise lopuksi palvelu ohjaamalla portti reitittimeltä veth-osoitteeseen:
/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 vastaa nyt reitittimen LAN-IP:ssä. DNS-suodatuksen ajaminen tällä tavalla on vaihtoehto RouterOS:n natiiveille estolistoille — jos suosit konttitonta reittiä, katso RouterOS-adlist-oppaamme.
Hallitse Kontteja Koko Laitekannassa
Yksittäinen kontti yhdellä reitittimellä on helppo. Operaattorin todellinen toiminnallinen kysymys on johdonmukaisuus: sama image, sama veth- ja NAT-malli, sama tallennusasettelu sekä samat start-on-boot- ja muistirajat jokaisella laitteella. RouterOS antaa sinulle peruspalikat — start-on-boot=yes selviää uudelleenkäynnistyksistä, ja memory-high tai memory-max rajoittavat RAMia per kontti, jotta karkuun lähtenyt palvelu ei nälkiinnytä reititystasoa:
/container/config/set memory-high=200M/container/set pihole start-on-boot=yesVaikea osa on tehdä tämä identtisesti kymmenissä tai sadoissa etäreitittimissä ja sitten todistaa, että jokainen todella nousi takaisin pystyyn uudelleenkäynnistyksen jälkeen — varsinkin kun laite istuu CGNATin takana etkä voi yksinkertaisesti tavoittaa sen julkista IP:tä.
Vinkkejä
- Pidä jokainen konttivolyymi ulkoisella levyllä; älä koskaan sisäisessä NAND-muistissa.
- Käytä erillistä veth/bridge-paria erottaaksesi epäluotettavat kontit luotetuista.
- Aseta
memory-maxkaikkeen, johon et täysin luota, jotta reititin pysyy reagointikykyisenä. - Puhdasta testiympäristöä varten ennen tuotantoon koskemista, aja samat imaget virtualisoidulla CHR-instanssilla ennen fyysisiin reitittimiin käyttöönottoa.
Ota Seuraava Askel
Kontit muuttavat MikroTik-reitittimen pieneksi sovellusisännäksi, mutta tällaisten isäntien laivasto tarvitsee orkestrointia. MKController luo RouterOS-konfiguraatiosta keskitetysti mallit, soveltaa ne jokaiseen laitteeseen laitekannassasi ja seuraa poikkeamia, joten näet, mikä reititin eriytyi — ja NATCloudin kautta se tavoittaa CGNATin takana olevat laitteet vahvistaakseen, että kontti käynnistyi uudelleen huollon jälkeen. Se kuroo umpeen kuilun yhden kontin manuaalisen konfiguroinnin ja niiden luotettavan käytön välillä koko operaattoriverkossa.