Container'a Geçiş: KOBİ İçin Docker ve Portainer Başlangıcı

Özet: KOBİ ortamında Docker container teknolojisine geçiş, Portainer ile yönetim, tipik kullanım senaryoları ve VM ile karşılaştırma.
Özet: Container teknolojisi (Docker), KOBİ ortamında bir yazılımı çalıştırmak için tam VM açmaktan çok daha hafif, hızlı ve taşınabilir bir alternatif sunar. Bir Docker container 100 MB - 1 GB arası, saniyeler içinde başlar; aynı işi yapan VM 5-15 GB ve 1-2 dakikadır. Portainer, Docker'ı komut satırı yerine görsel arayüzle yöneten araçtır — KOBİ ölçeğinde özellikle değerli. Tipik KOBİ kullanımları: GitLab/Gitea, Nextcloud, Bitwarden self-host, izleme stack'i (Grafana+Prometheus), web uygulamaları, geliştirme ortamları. VM ile container birbirinin alternatifi değil, tamamlayıcısı: kritik uygulama VM'de, hafif servisler container'da çalışır.
KOBİ'lerde sanallaştırma denince akla VMware veya Hyper-V geliyor; container teknolojisi (Docker, Kubernetes) ise hâlâ "büyük şirket" veya "geliştirici" işi olarak görülüyor. Halbuki Docker, KOBİ'nin küçük araçları çalıştırma ihtiyacında VM'den çok daha pratik bir araç: kurulum saniyeler, kaynak tüketimi düşük, taşınabilirlik mükemmel. Üstelik Portainer gibi araçlarla komut satırı bilmeden de yönetilebilir.
Bu yazıda KOBİ ölçeğinde container teknolojisine geçişi, Docker ve Portainer kurulumunu, VM ile container'ın karşılaştırmasını ve tipik kullanım senaryolarını ele alıyoruz. Hedef kitlemiz IT yöneticileri, sistem yöneticileri ve KOBİ altyapısını modernleştirme yolunda olan karar vericiler.
Container Nedir, VM'den Farkı?
Hem container hem VM birer izolasyon teknolojisidir, ama farklı seviyelerde çalışırlar.
VM (Virtual Machine)
- Tam bir işletim sistemi (OS) çalıştırır
- Hipervizör (Hyper-V, ESXi) üzerinde
- 5-50 GB disk, 1-32 GB RAM
- Boot süresi: 1-2 dakika
- Tam izolasyon (kernel seviyesinde)
Container
- Yalnızca uygulamayı + bağımlılıklarını paketler
- Host OS kernel'ini paylaşır
- 100 MB - 5 GB disk, 50 MB - 2 GB RAM
- Boot süresi: 1-10 saniye
- Process seviyesi izolasyon (namespace, cgroup)
Karşılaştırma Tablosu
| Özellik | VM | Container |
|---|---|---|
| Boyut | GB'larla | MB'larla |
| Boot süresi | 1-2 dk | Saniyeler |
| Kaynak tüketimi | Yüksek | Düşük |
| İzolasyon seviyesi | Tam (kernel) | Process |
| OS lisansı | Her VM ayrı | Yok |
| Taşınabilirlik | Orta | Mükemmel |
| Kullanım kolaylığı | Olgun (15+ yıl) | Modern (10+ yıl) |
| Güvenlik kapsamı | Kernel-level izole | Daha açık (host paylaşır) |
Hangi Senaryoda Hangisi?
| Senaryo | Tercih |
|---|---|
| Windows iş yükü, kritik uygulama (ERP, vs.) | VM |
| Eski legacy sistem | VM |
| Hassas veri, kernel-level izolasyon şart | VM |
| Geliştirici ortamı | Container |
| Mikro-servis, web app, API | Container |
| Açık kaynak self-host (Bitwarden, Nextcloud) | Container |
| İzleme stack (Grafana+Prometheus) | Container |
| Geçici test ortamı | Container |
| CI/CD pipeline | Container |
Docker Temelleri
Docker, container teknolojisini standardize eden açık kaynak platformdur.
Temel Kavramlar
- Image: Container'ın "şablonu" — bir uygulama + bağımlılıkları
- Container: Image'in çalışan örneği
- Dockerfile: Image üretmek için tarif dosyası
- Volume: Persistent veri saklama (container yok olsa bile veri kalır)
- Network: Container'lar arası iletişim
- Registry: Image deposu (Docker Hub, kendi registry)
Tipik Akış
- Docker Hub'dan resmi image çekilir (
docker pull nginx) - Image'den container başlatılır (
docker run -d -p 80:80 nginx) - Container çalışır, web sunucusu hazır
- Volume ile veri saklanır
- İhtiyaç bittiğinde durdurulur veya silinir
Docker Kurulumu — KOBİ Senaryosu
KOBİ için tipik kurulum:
Linux (Ubuntu 22.04+) — Önerilen
# Resmi script
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Kullanıcıyı docker grubuna ekle
sudo usermod -aG docker $USER
# Kontrol
docker --version
docker run hello-world
Windows Server
Windows Server 2019/2022/2025 üzerinde Docker EE veya Mirantis Container Runtime. Production için Linux host önerilir; Windows Docker daha çok geliştirme amaçlıdır.
Docker Desktop (Geliştirici Cihazları)
Windows/macOS geliştirici cihazlarında. KOBİ ticari kullanımda lisans gerektirebilir (250+ çalışan veya 10M+ ciro üzerinde).
Portainer — Görsel Arayüz
Komut satırı bilmeyen ekipler için Portainer Docker'a görsel arayüz ekler.
Portainer Kurulumu
docker volume create portainer_data
docker run -d -p 9000:9000 \
--name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
Tarayıcıdan http://server:9000 adresinden erişilir.
Portainer Özellikleri
- Container listesi, başlat/durdur/sil
- Image yönetimi
- Network görselleştirme
- Volume yönetimi
- Container loglarını anlık izleme
- Çoklu Docker host yönetimi (ayrı sunucular)
- Stack (Docker Compose) yönetimi
- RBAC (kim ne yapabilir)
- Container sağlık durumu
KOBİ ölçeğinde komut satırı kullanımını minimize eder.
Docker Compose — Çok Container Yönetimi
Birden fazla container'ı (örnek: web + DB + cache) tek bir tarif dosyasıyla yönetme.
Örnek: Nextcloud + MariaDB
docker-compose.yml:
version: '3.8'
services:
db:
image: mariadb:10.6
restart: always
environment:
MYSQL_ROOT_PASSWORD: changeme
MYSQL_DATABASE: nextcloud
volumes:
- db_data:/var/lib/mysql
app:
image: nextcloud:latest
restart: always
ports:
- "8080:80"
environment:
MYSQL_HOST: db
MYSQL_DATABASE: nextcloud
volumes:
- app_data:/var/www/html
depends_on:
- db
volumes:
db_data:
app_data:
Tek komutla tüm stack çalışır:
docker compose up -d
Tipik KOBİ Kullanım Senaryoları
KOBİ ortamında Docker'ın değerli olduğu konular:
1. Self-Hosted Yazılımlar
- Bitwarden Vault: Şifre yönetim kasası
- Nextcloud: Dropbox alternatifi
- Vaultwarden (Bitwarden uyumlu hafif)
- GitLab CE veya Gitea: Git hosting
- Wiki.js, BookStack: Doküman yönetimi
- Outline: Modern wiki
- Mattermost / Rocket.Chat: Slack alternatifi
2. İzleme ve Loglama
- Grafana + Prometheus
- ELK Stack (Elasticsearch + Logstash + Kibana)
- Uptime Kuma (basit uptime izleme)
- Wazuh (SIEM)
3. Geliştirme Araçları
- Jenkins veya GitLab Runner: CI/CD
- SonarQube: Kod kalite analizi
- Sentry: Hata izleme
4. Otomasyon
- n8n: No-code iş akışı
- Home Assistant: IoT (eğer KOBİ ofis IoT'lu ise)
- Node-RED: Kodsuz akış otomasyonu
5. Web Uygulamaları
- WordPress + MariaDB
- Drupal
- Custom Django/Laravel/Express uygulamalar
6. Reverse Proxy + SSL
- Caddy (otomatik HTTPS)
- Traefik (modern reverse proxy)
- Nginx Proxy Manager (UI ile yönetim)
Production Best Practices
KOBİ'de Docker'ı sağlam çalıştırmak için:
1. Resmi Image Tercih
Docker Hub'da resmi (Official) etiketli veya iyi bilinen vendor image'larını kullanın. Bilinmeyen image'lar zararlı kod içerebilir.
2. Tag Sabitleme
nginx:latest yerine nginx:1.25.3 gibi spesifik versiyon. "latest" sürpriz güncellemelere yol açar.
3. Volume ile Veri Persistence
Container yok olunca veri kayboluyorsa volume yapılandırması eksik. DB, dosya verileri her zaman volume'da.
4. Yedekleme
Docker volume'ları yedekleme stratejisine dahil. docker run --rm -v db_data:/data -v $(pwd):/backup ubuntu tar czf /backup/db.tar.gz /data
5. Resource Limit
docker run --memory=2g --cpus=2 ile container kaynaklarını sınırla. Tek container tüm sunucuyu çökertmesin.
6. Logging Yönetimi
Default JSON file driver disk doldurabilir. --log-driver=json-file --log-opt max-size=10m --log-opt max-file=3 ayarı veya merkezi log servisi.
7. Güvenlik Taraması
docker scan veya Trivy ile image zafiyet taraması. Snyk Docker entegrasyonu.
8. Düzenli Güncelleme
Image'ler düzenli güncellenir, container yeniden başlatılır. Watchtower aracı bunu otomatize eder.
Container Güvenlik Önemli Notlar
VM ile karşılaştırıldığında container'ların güvenlik profili farklıdır:
Risk Alanları
- Host paylaşımı: Container kernel'i host ile paylaşır; privileged container = host'ta root
- Image güvenilirliği: Bilinmeyen image içinde zararlı kod olabilir
- Network izolasyonu: Default ayarda container'lar birbirini görür
- Secrets yönetimi: Parolalar Docker Compose dosyasında yazılı kalmamalı
Önlemler
- Privileged container'dan kaçın (
--privilegedzorunlu olmadıkça yok) - Image'leri taranmış sürümlerden çek
- Network segmentation (Docker network'leri)
- Docker secrets veya HashiCorp Vault
- Read-only root filesystem (
--read-only) - Düzenli image güncellemesi
- Host kernel güncel (container güvenliği host kernel'a bağlı)
Kubernetes mi Gerekir?
Docker yetiyorsa, Kubernetes değil — KOBİ kuralı.
Kubernetes Ne Zaman?
- 50+ container
- Çoklu host yük dengelemesi
- Otomatik failover, rolling deployment
- Mikro-servis ekosistemi olgun
KOBİ İçin Sade Yaklaşım
- Tek host: Docker + Compose + Portainer
- 2-3 host: Docker Swarm (Kubernetes'in basit kardeşi)
- 10+ host veya enterprise gereksinim: Kubernetes (k3s, k0s daha hafif)
KOBİ'de Kubernetes çoğu zaman aşırı mühendisliktir. Docker Compose ve Portainer yeterli.
Yamanlar Bilişim Olarak Sunduğumuz Hizmetler
KOBİ ölçeğinde container destek alanlarımız:
- VM vs Container karar danışmanlığı
- Docker host kurulumu (Linux)
- Portainer kurulum ve RBAC
- Docker Compose ile uygulama mimarisi
- Reverse proxy + SSL otomasyonu (Caddy, Traefik)
- Yedekleme stratejisi (volume bazlı)
- İzleme entegrasyonu
- Güvenlik sertleştirme
Sıkça Sorulan Sorular
Sonuç
Container teknolojisi, KOBİ ortamında "büyük şirket" lüksü değil; aksine küçük ekipler için VM'den çok daha pratik bir altyapı yöntemidir. Docker + Portainer + Docker Compose üçlüsü, komut satırı bilmeden bile KOBİ'ye self-hosted Bitwarden, Nextcloud, GitLab gibi onlarca güçlü açık kaynak çözümünü dakikalar içinde devreye almayı sağlar. VM'lerin yerini almaz, ama yanına çok değerli bir araç kutusu ekler.
Yamanlar Bilişim olarak ölçeğinize uygun container stratejisi tasarlıyor, Docker host kurulumdan üretim deneyimine kadar destek sunuyoruz; KOBİ altyapınızı yavaş ve ağır VM'lerle değil, hafif ve hızlı container'larla genişletmenize yardımcı oluyoruz.
Sıkça Sorulan Sorular
Docker, VM leri tamamen ortadan kaldırır mı?
Hayır, ikisi tamamlayıcıdır. KOBİ de tipik mimari: ana sunucu Hyper-V/VMware host, üzerinde Linux VM i var, o VM Docker host. Kritik Windows uygulamalar (ERP, AD) VM de; hafif servisler container da. Container VM lerin yerine geçmiyor , VM içine alternatif çalıştırma yöntemi ekliyor.
Docker hangi Linux dağıtımı önerilir?
Production için Ubuntu 22.04 LTS veya Debian 12 yaygın ve dokümante. CentOS Stream, RHEL, Fedora da uyumlu. Docker resmi olarak destekler. Alpine ve özel lightweight dağıtımlar minimal Docker host olarak da kullanılabilir.
Docker Desktop KOBİ için ücretli mi?
Docker Desktop, 250 den fazla çalışan VEYA 10M USD den fazla yıllık ciro yapan kuruluşlar için ücretli abonelik gerektirir (yaklaşık 5 USD/kullanıcı/ay Pro plan). Sunucu üzerindeki Docker Engine ücretsizdir; Desktop sadece geliştirici cihaz arayüzüdür. Bu sınırlamaları aşmayan KOBİ ücretsiz kullanır.
Container kaybolursa veri kaybedilir mi?
Container silinirse içindeki veri kaybolur — eğer volume yapılandırılmadıysa. Bu yüzden hassas/persistent veri her zaman volume a yazılır; volume container dan bağımsızdır. DB container silinse bile volume da veri durur, yeni container aynı volume u bağlayarak kaldığı yerden devam eder.
Portainer Community Edition KOBİ ye yeterli mi?
Tek host, küçük ekip için yeterli. Çoklu host, RBAC, audit logging, OpenLDAP/AD entegrasyonu istiyorsanız Portainer Business Edition gerekir (5 host a kadar ücretsiz, üzerinde aboneli). KOBİ ölçeğinde Community Edition çoğu zaman karşılayıcıdır.
Docker Compose üretim ortamında mı, sadece geliştirme mi?
Üretim için de uygundur, ancak tek host a sınırlıdır. Yüksek erişilebilirlik (multi-host) gerekiyorsa Docker Swarm veya Kubernetes e geçilir. KOBİ de tek host ta çalışan Compose stack leri yıllarca production da kalır — basit, sürdürülebilir, yedekli olduğu sürece sorun yoktur.
Yazar
Serdar
Yamanlar Bilişim Uzmanı
Yamanlar Bilişim bünyesinde IT altyapısı, siber güvenlik ve dijital dönüşüm konularında içerikler üretmektedir. Sorularınız için iletişime geçebilirsiniz.
Profesyonel Destek
Bu konuda destek alın
Sunucu Odası ve Altyapı alanında ihtiyaç duyduğunuz çözümü birlikte tasarlayalım. Uzman ekibimiz 1 iş günü içinde size geri döner.
support@yamanlarbilisim.com.tr · Yanıt süresi: 1 iş günü
