- Docker imajını rootfs'ye nasıl dönüştürüp MikroTik üzerinde çalıştırabilirim?
- Önkoşullar ve önemli noktalar
- Bölüm 1 — Ubuntu'da konteyner rootfs'i oluşturma (Docker örneğiyle)
- Bölüm 2 — Dosyaları MikroTik'e Aktarma
- Bölüm 3 — Konteynerleri RouterOS'a İçe Aktarma
- Bölüm 4 — Bir Konteyner Oluşturma ve Çalıştırma
- Bölüm 5 — IP Ataması ve Port Yönlendirme (Port Yönlendirme / NAT)
- Bölüm 6 — Pratik Örnek: Nginx Kurulumu ve Port Yönlendirme
- Bölüm 7 — Sık Karşılaşılan Sorunlar ve Çözümler
- Bölüm 8 — Güvenlik ve Kısıtlamalar
- Bölüm 9 — Konteynerler için MikroTik'i kullanmamak ne zaman daha iyidir?
- Bölüm 10 — Pratik ipuçları ve son öneriler
- Hizmetlerimiz için bizimle iletişime geçin.
- Sıkça Sorulan Sorular
Docker imajını rootfs'ye nasıl dönüştürüp MikroTik üzerinde çalıştırabilirim?
Bu pratik ve uzman kılavuzda, Ubuntu'ya Docker imajı indirme, çıkarma ve çalıştırma işlemlerini adım adım ele alacağız. kök dosya sistemiBu bölümde, dosyanın RouterOS (MikroTik) cihazına aktarılması, imaj olarak içe aktarılması, konteynerin oluşturulması ve çalıştırılması ve son olarak ağ dışından hizmet erişimi için NAT/Güvenlik Duvarı'nın yapılandırılması açıklanmaktadır.
Önkoşullar ve önemli noktalar
Temel teknik ipuçları:
RouterOS sürümü şu olmalıdır: 7.x veya üzeri Ve kapatıldı konteyner Cihazda etkinleştirilmiş olmalıdır. Sürümü CLI veya Winbox üzerinden kontrol etmek için:
/system package printMikroTik cihazınızda yeterli depolama alanı olduğundan emin olun; gerekirse harici NAS veya NFS kullanın.
Gözden geçirmek İşlemci mimarisi Aygıt (ör. arm, arm64, mipsbe, x86_64):
/system resource printDosya yüklemek için SSH/FTP veya Winbox erişimi de gereklidir.
Bölüm 1 — Ubuntu'da konteyner rootfs'i oluşturma (Docker örneğiyle)
Ubuntu'da imajı indirmek ve dosya sistemini çıkarmak için Docker kullanıyoruz. Belirli bir mimariye ihtiyacınız varsa, şunu kullanın: --platform Kullanmak.
Örnek: arm/v7 mimarisi için Alpine imajından rootfs dosyasını çıkarma
sudo apt update
sudo apt install -y docker.iodocker pull --platform linux/arm/v7 alpine:latest
docker create --name tmp-alpine alpine:latest
docker export tmp-alpine > alpine-rootfs.tar
docker rm tmp-alpine
gzip alpine-rootfs.tar # optional -> alpine-rootfs.tar.gzAçıklama: docker export RouterOS'a rootfs olarak içe aktarılmaya uygun, kapsayıcı dosya sisteminin bir tar dosyasını oluşturur. OCI katmanlarına ihtiyacınız varsa, şunu kullanabilirsiniz: docker kaydet Ancak çok sayıda yönlendirici kullanın. Ham rootfs Onlar istiyorlar.
Bölüm 2 — Dosyaları MikroTik'e Aktarma
Yöntem 1 — SCP (Komut Satırı)
scp -P 22 alpine-rootfs.tar.gz admin@MIKROTIK_IP:/Yöntem 2 — Winbox/WebFig
tar.gz dosyasını Winbox'taki Dosyalar penceresine sürükleyip bırakın. Yükleme yolu Dosyalar veya /file-store bölümünde görülebilir.
Bölüm 3 — Konteynerleri RouterOS'a İçe Aktarma
Grafiksel yöntem (Winbox/WebFig): Bölüme Konteyner Görseller sekmesine gidin ve İçe Aktar'a tıklayın. tar.gz dosyasını seçin ve uygun bir ad girin (örneğin, alp-armv7).
Komut satırı yöntemi (RouterOS CLI):
/container image import file-name=alpine-rootfs.tar.gz name=alpine-armv7Bölüm 4 — Bir Konteyner Oluşturma ve Çalıştırma
Görüntüyü içe aktardıktan sonra, konteyneri oluşturun ve çalıştırın. Hem Winbox hem de CLI için örnekler verilmiştir.
Komut satırı örneği:
/container create image=alpine-armv7 name=my-alpine command="/bin/sh"
/container start my-alpineWinbox'ta sekmeyi kullanabilirsiniz. Konsol Bu komutu kullanarak konteyner kabuğuna bağlanabilir veya attach komutuyla kabuğa girebilirsiniz.
Bölüm 5 — IP Ataması ve Port Yönlendirme (Port Yönlendirme / NAT)
Bir konteyner içindeki bir hizmete dışarıdan erişmenin iki yaygın yolu vardır: Özel IP tahsisi konteynere ve NAT'ı kullanın veya Doğrudan port sürümü Eğer RouterOS bunu destekliyorsa.
HTTP servisi için NAT örneği: Yönlendiricinin genel IP adresini varsayalım. 203.0.113.10 ve konteyner IP'si 172.18.0.2 Yönlendiricideki 8080 numaralı portu, konteyner içindeki 80 numaralı porta yönlendirmek istiyoruz.
/ip firewall nat add chain=dstnat dst-address=203.0.113.10 protocol=tcp dst-port=8080 action=dst-nat to-addresses=172.18.0.2 to-ports=80 comment="NAT -> container nginx"UDP için, protocol=udp ve uygun dst-port ile benzer bir tane oluşturun. Ayrıca şunu da kullanın: IP güvenlik duvarı filtresi Güvenliği artırmak için erişimi kısıtlamak (örneğin, yalnızca belirli IP adreslerine) amacıyla kullanılır.
Bölüm 6 — Pratik Örnek: Nginx Kurulumu ve Port Yönlendirme
Nginx'ten rootfs oluşturma, Mikrotik'e aktarma ve çalıştırma adımlarının özeti:
docker pull --platform linux/arm/v7 nginx:stable
docker create --name tmp-nginx nginx:stable
docker export tmp-nginx > nginx-rootfs.tar
gzip nginx-rootfs.tarArdından dosyayı yükleyin ve içe aktarın, sonra da nginx yürütülebilir dosyasını kullanarak bir konteyner oluşturun:
/container create image=nginx-arm name=nginx1 command="/usr/sbin/nginx -g 'daemon off;'"
/container start nginx1Ardından, konteyner IP adresini bulun ve önceki bölümde verilen örneğe benzer bir NAT kuralı oluşturarak hizmetin internetten erişilebilir olmasını sağlayın.
Bölüm 7 — Sık Karşılaşılan Sorunlar ve Çözümler
Mimari sorun: Eğer RouterOS'un mimarisi ARM ise ve imajınız x86_64 ise, imajı ARM için derlemeniz veya çoklu mimari (multi-arch) kullanmanız gerekir. Çoklu mimari derleme yöntemleri şunları içerir: qemu-kullanıcı-statik Ve docker buildx Öyledir.
Kaynak yetersizliği: Konteynerler makine kaynaklarını tüketir; ağır hizmetler için bulut sunucuları veya özel sunucular kullanın.
Düşük depolama alanı: Büyük dosyaları barındırmak için FTP/NAS veya bulut sunucusu kullanın.
Servis başlatılamıyor: Konteyner içindeki Konsol üzerinden logları kontrol edin ve init veya systemd'nin imaj için uygun olduğundan emin olun.
Bölüm 8 — Güvenlik ve Kısıtlamalar
Güvenlik avantajları ve öneriler:
Resmi, güncel görseller kullanın ve içe aktarmadan önce tarayın.
Yerel DoS saldırılarını önlemek için kaynak kısıtlaması (CPU, bellek).
Hassas hizmetler için VPN veya TLS ve iki faktörlü kimlik doğrulama kullanın.
Herkese açık hizmetler için CDN ve DDoS saldırılarına karşı koruma kullanın.
Bölüm 9 — Konteynerler için MikroTik'i kullanmamak ne zaman daha iyidir?
Yapay zeka modelleri veya görüntü oluşturma gibi yüksek işlem gücü gerektiren ve gecikmeye duyarlı uygulamalar için GPU sunucuları veya bulut sunucuları kullanın.
Yoğun trafiğe sahip üretim ortamlarında, konteynerleri bulut sunucularında veya Kubernetes gibi orkestrasyon ortamlarında barındırmak daha iyidir.
Çok düşük ping değerine sahip işlem uygulamaları için, uygun bir konumda bulunan özel bir işlem VPS'si kullanın.
Bölüm 10 — Pratik ipuçları ve son öneriler
Üretim ortamına geçmeden önce her zaman önce bir test ortamında deneme yapın.
Konteyner süreçlerini otomatikleştirmek istiyorsanız, uygun bir CI/CD sistemi kullanın.
MikroTik'in GPU gereksinimlerini karşılamak için bulut tabanlı grafik hizmetlerini kullanın.
Hizmetlerimiz için bizimle iletişime geçin.
Güçlü altyapı, özel işlem VPS'si, GPU veya DDoS koruması gerektiren projeler için küresel lokasyonlar, BGP ağ iletişimi ve bulut güvenliği hizmetleri sunuyoruz. Lokasyon seçimi, ağ kurulumu ve güvenlik konularında teknik tavsiyeye ihtiyacınız varsa, lütfen destek ekibimizle iletişime geçin.








