{"id":596,"date":"2026-04-07T15:00:25","date_gmt":"2026-04-07T12:00:25","guid":{"rendered":"https:\/\/m4.ist\/index.php\/2026\/04\/07\/ev-sunucusunda-docker-m-ev\/"},"modified":"2026-04-07T15:00:25","modified_gmt":"2026-04-07T12:00:25","slug":"ev-sunucusunda-docker-m-ev","status":"publish","type":"post","link":"https:\/\/m4.ist\/index.php\/2026\/04\/07\/ev-sunucusunda-docker-m-ev\/","title":{"rendered":"Ev Sunucusunda Docker m\u0131: 2026 Pratik Rehber"},"content":{"rendered":"<h1>Ev Sunucusunda Docker m\u0131 LXC mi VM mi: Hangi \u0130\u015f \u0130\u00e7in Hangisi Daha Mant\u0131kl\u0131?<\/h1>\n<div class=\"rankmath-manual-toc\" data-rankmath-toc=\"1\">\n<p><strong>Icindekiler<\/strong><\/p>\n<ul>\n<li><a href=\"#bolum-1\">\u0130\u00e7indekiler<\/a><\/li>\n<li><a href=\"#bolum-2\">Ev Sunucusunda Docker ile Ba\u015flang\u0131\u00e7<\/a><\/li>\n<li><a href=\"#bolum-3\">Topic Overview<\/a><\/li>\n<li><a href=\"#bolum-4\">Why It Matters<\/a><\/li>\n<li><a href=\"#bolum-5\">Core Concepts<\/a><\/li>\n<li><a href=\"#bolum-6\">\u00d6rnek<\/a><\/li>\n<li><a href=\"#bolum-7\">Practical Examples<\/a><\/li>\n<li><a href=\"#bolum-8\">LXC \u00d6rne\u011fi \u2013 Nextcloud + Duplicity<\/a><\/li>\n<li><a href=\"#bolum-9\">VM \u00d6rne\u011fi \u2013 Minecraft Sunucusu<\/a><\/li>\n<li><a href=\"#bolum-10\">Common Mistakes<\/a><\/li>\n<li><a href=\"#bolum-11\">Best Practices<\/a><\/li>\n<li><a href=\"#bolum-12\">\u00d6rnek: Prometheus ile Kaynak \u0130zleme<\/a><\/li>\n<li><a href=\"#bolum-13\">Add Concrete Examples and Real-World Scenarios<\/a><\/li>\n<li><a href=\"#bolum-14\">1. Plex + Subsonic Docker Compose<\/a><\/li>\n<li><a href=\"#bolum-15\">2. Nextcloud + Duplicity LXC<\/a><\/li>\n<li><a href=\"#bolum-16\">3. Minecraft VM<\/a><\/li>\n<li><a href=\"#bolum-17\">Decision Matrix<\/a><\/li>\n<li><a href=\"#bolum-18\">Deployment Checklist<\/a><\/li>\n<li><a href=\"#bolum-19\">Security Checklist<\/a><\/li>\n<li><a href=\"#bolum-20\">FAQ<\/a><\/li>\n<li><a href=\"#bolum-21\">Ev Sunucusunda Docker m\u0131, LXC mi, yoksa VM mi daha mant\u0131kl\u0131?<\/a><\/li>\n<li><a href=\"#bolum-22\">Ev Sunucusunda Docker m\u0131, LXC mi, yoksa VM mi kullan\u0131rken en yayg\u0131n hata nedir?<\/a><\/li>\n<li><a href=\"#bolum-23\">Konkrete \u00f6rnekler ve ger\u00e7ek d\u00fcnya senaryolar\u0131 nas\u0131l ele al\u0131nmal\u0131?<\/a><\/li>\n<li><a href=\"#bolum-24\">Ev sunucusunda konteynerle\u015ftirme ile sanalla\u015ft\u0131rma aras\u0131nda se\u00e7imi etkileyen fakt\u00f6rler nelerdir?<\/a><\/li>\n<li><a href=\"#bolum-25\">Hangi durumda LXC kullanmak, Docker ile VM aras\u0131nda bir avantaj sa\u011flar?<\/a><\/li>\n<li><a href=\"#bolum-26\">Ev sunucusunda Docker, LXC ve VM i\u00e7in birden fazla ortamda yedekleme nas\u0131l yap\u0131l\u0131r?<\/a><\/li>\n<li><a href=\"#bolum-27\">Ev sunucusunda Docker konteynerlerini nas\u0131l \u00f6l\u00e7eklendirebilirim?<\/a><\/li>\n<li><a href=\"#bolum-28\">LXC konteynerinde kullan\u0131c\u0131 bazl\u0131 kaynak s\u0131n\u0131rlamas\u0131 nas\u0131l yap\u0131l\u0131r?<\/a><\/li>\n<li><a href=\"#bolum-29\">VM\u2019de d\u00fc\u015f\u00fck gecikme ile a\u011f eri\u015fimi nas\u0131l sa\u011flan\u0131r?<\/a><\/li>\n<li><a href=\"#bolum-30\">Sonu\u00e7<\/a><\/li>\n<\/ul>\n<\/div>\n<h2 id=\"bolum-1\">\u0130\u00e7indekiler<\/h2>\n<ul>\n<li><a href=\"#ev-sunucusunda-docker-ile-baslang%C4%B0%C4%9F%C4%B1\">Ev Sunucusunda Docker ile Ba\u015flang\u0131\u00e7<\/a><\/li>\n<li><a href=\"#topic-overview\">Topic Overview<\/a><\/li>\n<li><a href=\"#why-it-matters\">Why It Matters<\/a><\/li>\n<li><a href=\"#core-concepts\">Core Concepts<\/a><\/li>\n<li><a href=\"#practical-examples\">Practical Examples<\/a><\/li>\n<li><a href=\"#common-mistakes\">Common Mistakes<\/a><\/li>\n<li><a href=\"#best-practices\">Best Practices<\/a><\/li>\n<li><a href=\"#add-concrete-examples-and-real-world-scenarios\">Add Concrete Examples and Real-World Scenarios<\/a><\/li>\n<li><a href=\"#decision-matrix\">Decision Matrix<\/a><\/li>\n<li><a href=\"#deployment-checklist\">Deployment Checklist<\/a><\/li>\n<li><a href=\"#security-checklist\">Security Checklist<\/a><\/li>\n<li><a href=\"#faq\">FAQ<\/a><\/li>\n<li><a href=\"#sonu%C3%A7\">Sonu\u00e7<\/a><\/li>\n<\/ul>\n<h2 id=\"bolum-2\">Ev Sunucusunda Docker ile Ba\u015flang\u0131\u00e7<\/h2>\n<p>bu rehber, basit bir medya sunucusu ya da ki\u015fisel veri yedekleme \u00e7\u00f6z\u00fcm\u00fc kurarken tercih edilen ilk ad\u0131m olur. Bu ekosistem, uygulama paketlerini ba\u011f\u0131ms\u0131z konteynerler i\u00e7inde ta\u015f\u0131r ve kaynak t\u00fcketimini minimumda tutar. Docker\u2019\u0131n h\u0131zl\u0131 ba\u015flang\u0131c\u0131, ev sunucusu y\u00f6neticilerine k\u0131sa s\u00fcrede test ve da\u011f\u0131t\u0131m d\u00f6ng\u00fclerini tamamlamay\u0131 sa\u011flar.<\/p>\n<p>\u0130lk kurulumda <strong>Docker Hub<\/strong>\u2019dan g\u00fcvenli bir image \u00e7ekmek yeterlidir. \u00d6rne\u011fin, Plex medya sunucusu i\u00e7in <code>plexinc\/pms-docker<\/code> resmi imaj\u0131 uygundur.  <\/p>\n<pre><code class=\"language-bash\">docker run -d \\\n  --name plex \\\n  -p 32400:32400 \\\n  -v \/media\/plex:\/data \\\n  plexinc\/pms-docker\n<\/code><\/pre>\n<p>Bu komut, Plex\u2019i arka planda ba\u015flat\u0131r, 32400 portunu haritalar ve medya klas\u00f6r\u00fcn\u00fc ba\u011flar. Bu basit \u00f6rnek, konteynerle\u015ftirme\u2019nin ev sunucusu i\u00e7in ne kadar eri\u015filebilir oldu\u011funu g\u00f6sterir.<\/p>\n<h2 id=\"bolum-3\">Topic Overview<\/h2>\n<p>Docker konteynerleri, Linux \u00e7ekirde\u011fi \u00fczerinden <em>namespaces<\/em> ve <em>cgroups<\/em> kullanarak izole bir ortam sunar. Her bir konteyner, ba\u011f\u0131ms\u0131z bir kullan\u0131c\u0131 alan\u0131, dosya sistemi ve a\u011f stak\u2019i i\u00e7erir.  <\/p>\n<p>LXC ise OS\u2011level sanalla\u015ft\u0131rma sa\u011flar. Her LXC konteyneri, ana sistemle ayn\u0131 \u00e7ekirdek \u00fczerinde \u00e7al\u0131\u015f\u0131r ancak kullan\u0131c\u0131, grup, PID ve a\u011f ad alanlar\u0131 izole edilir.  <\/p>\n<p>VM ise tam donan\u0131m sanalla\u015ft\u0131rma yapar. KVM (Kernel Virtual Machine) ile \u00e7al\u0131\u015fan bir VM, kendi \u00e7ekirde\u011fini, i\u015fletim sistemini ve sanal donan\u0131m\u0131n\u0131 bar\u0131nd\u0131r\u0131r. Hypervisor, donan\u0131m kaynaklar\u0131n\u0131 sanal makinelere tahsis eder.  <\/p>\n<p>\u00d6rnekler:<\/p>\n<ul>\n<li>Ubuntu 22.04 \u00fczerinde \u00e7al\u0131\u015fan Docker konteyneri \u2013 Plex, Nextcloud vb.<\/li>\n<li>Proxmox LXC konteyneri \u2013 Nextcloud + Duplicity.<\/li>\n<li>KVM\u2011tabanl\u0131 VM \u2013 Ubuntu + Minecraft sunucusu.<\/li>\n<\/ul>\n<h2 id=\"bolum-4\">Why It Matters<\/h2>\n<p>Ev sunucusu y\u00f6neticileri i\u00e7in kaynak t\u00fcketimi kritik bir fakt\u00f6rd\u00fcr. Tek bir VM ile 100\u202fGB RAM\u2019i payla\u015fmak yerine, 10\u202fGB RAM\u2019e sahip 10 Docker konteyneri daha y\u00fcksek verimlilik sunar.  <\/p>\n<p>G\u00fcvenlik a\u00e7\u0131dan, VM tam izole bir ortam sa\u011flar, ancak konteynerler sistem \u00e7ekirde\u011fini payla\u015f\u0131r. Bu nedenle <em>least privilege<\/em> ilkesi ile \u00e7al\u0131\u015fmak ve g\u00fcvenli base image\u2019ler se\u00e7mek gerekir.  <\/p>\n<p>Y\u00f6netim karma\u015f\u0131kl\u0131\u011f\u0131 ve bak\u0131m maliyeti de farkl\u0131l\u0131k g\u00f6sterir. VM\u2019ler snapshot, backup ve \u00f6l\u00e7eklenme i\u00e7in daha fazla yap\u0131land\u0131rma gerektirirken, Docker konteynerleri h\u0131zl\u0131 g\u00fcncellemeler ve otomatik da\u011f\u0131t\u0131m sa\u011flar.  <\/p>\n<p>E\u011fer 1) y\u00fcksek performans, 2) d\u00fc\u015f\u00fck kaynak t\u00fcketimi, 3) h\u0131zl\u0131 da\u011f\u0131t\u0131m gerekiyorsa Docker; 1) maksimum izole ortam, 2) uzun vadeli stabilite, 3) donan\u0131m destekli uygulamalar i\u00e7in VM tercih edilir. LXC ise her iki d\u00fcnya aras\u0131nda bir denge sunar.<\/p>\n<h2 id=\"bolum-5\">Core Concepts<\/h2>\n<table>\n<thead>\n<tr>\n<th>Konu<\/th>\n<th>Docker<\/th>\n<th>LXC<\/th>\n<th>VM<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>\u0130zolasyon D\u00fczeyi<\/strong><\/td>\n<td>Namespaces (CPU, PID, Network, Mount)<\/td>\n<td>Namespaces + cgroups<\/td>\n<td>Tam donan\u0131m sanalla\u015ft\u0131rma<\/td>\n<\/tr>\n<tr>\n<td><strong>Kaynak Payla\u015f\u0131m\u0131<\/strong><\/td>\n<td>Cgroups ile limit<\/td>\n<td>Cgroups + namespaces<\/td>\n<td>Hypervisor kontrol\u00fc<\/td>\n<\/tr>\n<tr>\n<td><strong>A\u011f Yap\u0131land\u0131rmas\u0131<\/strong><\/td>\n<td>Bridge, macvlan, IPVLAN<\/td>\n<td>Bridge, macvlan, IPVLAN<\/td>\n<td>NAT \/ Bridged<\/td>\n<\/tr>\n<tr>\n<td><strong>G\u00fcvenlik Katmanlar\u0131<\/strong><\/td>\n<td>Seccomp, AppArmor, SELinux<\/td>\n<td>Seccomp, AppArmor<\/td>\n<td>Tam izolasyon, firewall<\/td>\n<\/tr>\n<tr>\n<td><strong>Snapshot\/Rollback<\/strong><\/td>\n<td>Docker commit \/ image<\/td>\n<td>LXC snapshot<\/td>\n<td>VM snapshot<\/td>\n<\/tr>\n<tr>\n<td><strong>Boot S\u00fcresi<\/strong><\/td>\n<td>Neredeyse an\u0131nda<\/td>\n<td>Neredeyse an\u0131nda<\/td>\n<td>30\u201160 saniye<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"bolum-6\">\u00d6rnek<\/h3>\n<p>Docker\u2019da AppArmor profili eklemek i\u00e7in <code>--security-opt apparmor:unconfined<\/code> flag\u2019i kullan\u0131labilir. LXC\u2019de <code>seccomp<\/code> filtreleriyle belirli syscalls engellenir. VM snapshot al\u0131rken <code>qemu-img snapshot<\/code> komutu ile anl\u0131k durum kaydedilir.<\/p>\n<h2 id=\"bolum-7\">Practical Examples<\/h2>\n<table>\n<thead>\n<tr>\n<th>Senaryo<\/th>\n<th>Teknoloji<\/th>\n<th>Konteyner\/VM Ad\u0131<\/th>\n<th>Konfig\u00fcrasyon \u00d6rne\u011fi<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Medya Sunucusu (Plex + Subsonic)<\/td>\n<td>Docker Compose<\/td>\n<td><code>plex-subsonic<\/code><\/td>\n<td><code>docker-compose.yml<\/code> (a\u015fa\u011f\u0131)<\/td>\n<\/tr>\n<tr>\n<td>Ki\u015fisel Veri Yedekleme (Nextcloud + Duplicity)<\/td>\n<td>LXC<\/td>\n<td><code>nextcloud-dp<\/code><\/td>\n<td><code>\/etc\/pve\/lxc\/101.conf<\/code><\/td>\n<\/tr>\n<tr>\n<td>Oyun Sunucusu (Minecraft)<\/td>\n<td>VM<\/td>\n<td><code>minecraft<\/code><\/td>\n<td>KVM VM + <code>\/etc\/qemu\/<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre><code class=\"language-yaml\"># docker-compose.yml\nversion: '3.8'\nservices:\n  plex:\n    image: plexinc\/pms-docker\n    container_name: plex\n    ports:\n      - \"32400:32400\"\n    volumes:\n      - \/media\/plex:\/data\n    environment:\n      - PLEX_UID=1000\n      - PLEX_GID=1000\n  subsonic:\n    image: subsonic\/subsonic\n    container_name: subsonic\n    ports:\n      - \"4040:4040\"\n    volumes:\n      - \/media\/subsonic:\/var\/opt\/subsonic\n<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma, hem Plex hem de Subsonic\u2019u tek bir Docker Compose dosyas\u0131nda \u00e7al\u0131\u015ft\u0131r\u0131r.<\/p>\n<h3 id=\"bolum-8\">LXC \u00d6rne\u011fi \u2013 Nextcloud + Duplicity<\/h3>\n<pre><code class=\"language-bash\">pct create 101 ubuntu-22.04-standard-v20240904.iso \\\n  --cores 2 --memory 2048 --net0 name=eth0,bridge=vmbr0,firewall=1,ip=dhcp \\\n  --rootfs local-lvm:10\npct set 101 -lxc.conf \"lxc.cgroup2.devices.allow = c 1:* rwm\"\npct start 101\n<\/code><\/pre>\n<h3 id=\"bolum-9\">VM \u00d6rne\u011fi \u2013 Minecraft Sunucusu<\/h3>\n<pre><code class=\"language-bash\">qm create 201 --name minecraft --memory 8192 --cores 4 \\\n  --net0 virtio,bridge=vmbr0,firewall=1 \\\n  --scsi0 local-lvm:vm-201-disk-0,format=qcow2 \\\n  --ostype l26 --storage local-lvm --bootdisk scsi0\n\nqm set 201 --sshkeys \/root\/.ssh\/id_rsa.pub\nqm start 201\n<\/code><\/pre>\n<h2 id=\"bolum-10\">Common Mistakes<\/h2>\n<table>\n<thead>\n<tr>\n<th>Hata<\/th>\n<th>Nedeni<\/th>\n<th>\u00c7\u00f6z\u00fcm<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Yanl\u0131\u015f image s\u00fcr\u00fcm\u00fc<\/td>\n<td>Docker Hub\u2019da eski tag kullan\u0131m\u0131<\/td>\n<td>G\u00fcncel <code>latest<\/code> veya <code>stable<\/code> tag\u2019ini \u00e7ekin<\/td>\n<\/tr>\n<tr>\n<td>Root filesystem eri\u015fimi<\/td>\n<td>LXC i\u00e7inde \/var\/lib\/lxc\/\u2026 eri\u015fimi<\/td>\n<td><code>lxc.mount.auto = proc:rw<\/code> veya <code>lxc.cgroup2.devices.allow<\/code> ekleyin<\/td>\n<\/tr>\n<tr>\n<td>Kapal\u0131 portlar<\/td>\n<td>VM\u2019in firewall\u2019da kapal\u0131<\/td>\n<td><code>iptables -A INPUT -p tcp --dport 25565 -j ACCEPT<\/code><\/td>\n<\/tr>\n<tr>\n<td>Kaynak s\u0131n\u0131rlama<\/td>\n<td>Cgroups ayarlanmam\u0131\u015f<\/td>\n<td><code>--memory=512m --cpus=1<\/code> flag\u2019lerini ekleyin<\/td>\n<\/tr>\n<tr>\n<td>Eksik loglama<\/td>\n<td>Syslog\u2019e y\u00f6nlendirme yok<\/td>\n<td><code>docker logs -f<\/code> yerine <code>journald<\/code> entegrasyonu ekleyin<\/td>\n<\/tr>\n<tr>\n<td>Geri d\u00f6n\u00fc\u015f (rollback) eksikli\u011fi<\/td>\n<td>Yeni image deploy sonras\u0131 sorun<\/td>\n<td><code>docker tag<\/code> veya VM snapshot\u2019lar\u0131 al\u0131n<\/td>\n<\/tr>\n<tr>\n<td>G\u00fcvenlik g\u00fcncellemeleri ihmal edilmesi<\/td>\n<td>Base image\u2019de eski paketler<\/td>\n<td><code>docker pull --quiet<\/code> ve <code>apt-get upgrade<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Bu hatalar, ev sunucusunda s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlard\u0131r. \u00c7\u00f6z\u00fcm \u00f6nerileri, yap\u0131land\u0131rma dosyalar\u0131na eklenerek otomatikle\u015ftirilebilir.<\/p>\n<h2 id=\"bolum-11\">Best Practices<\/h2>\n<table>\n<thead>\n<tr>\n<th>Alan<\/th>\n<th>\u00d6neri<\/th>\n<th>Uygulama<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Least Privilege<\/strong><\/td>\n<td>Konteynerleri <code>--user<\/code> flag\u2019i ile uygulama kullan\u0131c\u0131lar\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131n.<\/td>\n<td><code>docker run --user 1000:1000<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Rollback<\/strong><\/td>\n<td>Her yeni image i\u00e7in <code>docker tag<\/code> veya VM snapshot\u2019lar\u0131 al\u0131n.<\/td>\n<td><code>docker tag plex:v2 plex:v1<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Patch Y\u00f6netimi<\/strong><\/td>\n<td>Base image\u2019leri d\u00fczenli olarak g\u00fcncelleyin.<\/td>\n<td><code>docker pull --quiet plexinc\/pms-docker &amp;&amp; docker-compose up -d<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Otomatik Log Toplama<\/strong><\/td>\n<td>ELK, Loki veya Promtail ile loglar\u0131 merkezi sunucuya g\u00f6nderin.<\/td>\n<td><code>docker run -d --name loki loki\/loki<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Yedekleme<\/strong><\/td>\n<td>Disk snapshot\u2019lar\u0131, veri kopyalama script\u2019leri ve \u015fifreli ar\u015fivleme kombinasyonu kullan\u0131n.<\/td>\n<td><code>rsync -avz --delete \/data \/backup<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>A\u011f \u0130zolasyonu<\/strong><\/td>\n<td>Docker\u2019\u0131n <code>--net=none<\/code> veya LXC\u2019in <code>lxc.network.type<\/code> ile izole a\u011flar kurun.<\/td>\n<td><code>--net=none<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>\u0130zleme<\/strong><\/td>\n<td>Prometheus + cAdvisor ile konteyner kaynak kullan\u0131m\u0131n\u0131 \u00f6l\u00e7\u00fcn.<\/td>\n<td><code>docker run -d -p 9090:9090 --name=cadvisor google\/cadvisor<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>G\u00fcvenlik Denetimi<\/strong><\/td>\n<td><code>docker scan<\/code> ve LXC\u2019in <code>lxc-checkconfig<\/code> ile sistemini test edin.<\/td>\n<td><code>docker scan plexinc\/pms-docker<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Konfig\u00fcrasyon Y\u00f6netimi<\/strong><\/td>\n<td>Ansible veya Terraform ile altyap\u0131y\u0131 kodla\u015ft\u0131r\u0131n.<\/td>\n<td><code>ansible-playbook deploy.yml<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"bolum-12\">\u00d6rnek: Prometheus ile Kaynak \u0130zleme<\/h3>\n<pre><code class=\"language-yaml\"># prometheus.yml\nscrape_configs:\n  - job_name: 'docker'\n    static_configs:\n      - targets: ['localhost:9090']\n<\/code><\/pre>\n<pre><code class=\"language-bash\">docker run -d \\\n  -p 9090:9090 \\\n  --name prometheus \\\n  -v \/path\/to\/prometheus.yml:\/etc\/prometheus\/prometheus.yml \\\n  prom\/prometheus\n<\/code><\/pre>\n<h2 id=\"bolum-13\">Add Concrete Examples and Real-World Scenarios<\/h2>\n<h3 id=\"bolum-14\">1. Plex + Subsonic Docker Compose<\/h3>\n<ul>\n<li>Docker Compose dosyas\u0131n\u0131 <code>\/srv\/docker\/plex-subsonic\/docker-compose.yml<\/code> i\u00e7ine koyun.  <\/li>\n<li><code>docker compose up -d<\/code> ile ba\u015flat\u0131n.  <\/li>\n<li>10\u202fGB RAM, 1\u202fCPU ile 100\u202fTB medya koleksiyonunu y\u00f6netebilirsiniz.  <\/li>\n<li>Log toplama i\u00e7in <code>--log-driver=syslog<\/code> ekleyin.  <\/li>\n<\/ul>\n<pre><code class=\"language-bash\">docker compose up -d --build\n<\/code><\/pre>\n<h3 id=\"bolum-15\">2. Nextcloud + Duplicity LXC<\/h3>\n<ol>\n<li>LXC\u2019yi Proxmox\u2019da <code>LXC template<\/code> ile olu\u015fturun.  <\/li>\n<li><code>\/etc\/pve\/lxc\/101.conf<\/code> i\u00e7inde <code>lxc.cgroup2.devices.allow = c 1:* rwm<\/code> ayar\u0131 ile <code>\/dev\/fuse<\/code> eri\u015fimi verin.  <\/li>\n<li><code>duplicity<\/code> script\u2019ini cron\u2019a ekleyerek haftal\u0131k yedekleme yap\u0131n.  <\/li>\n<\/ol>\n<pre><code class=\"language-bash\">*\/30 * * * * \/usr\/bin\/duplicity --full-if-older-than 1M \/var\/www\/nextcloud \/backup\/nextcloud\n<\/code><\/pre>\n<h3 id=\"bolum-16\">3. Minecraft VM<\/h3>\n<ul>\n<li>KVM VM\u2019yi 4\u202fCPU, 8\u202fGB RAM, 100\u202fGB diskle kurun.  <\/li>\n<li><code>minecraft_server.jar<\/code> dosyas\u0131n\u0131 <code>\/srv\/minecraft<\/code> i\u00e7inde \u00e7al\u0131\u015ft\u0131r\u0131n.  <\/li>\n<li><code>systemd<\/code> servisi ile otomatik yeniden ba\u015flatma ve log toplama yap\u0131land\u0131r\u0131n.  <\/li>\n<\/ul>\n<pre><code class=\"language-ini\"># \/etc\/systemd\/system\/minecraft.service\n[Unit]\nDescription=Minecraft Server\nAfter=network.target\n\n[Service]\nUser=minecraft\nWorkingDirectory=\/srv\/minecraft\nExecStart=\/usr\/bin\/java -Xms2G -Xmx4G -jar server.jar nogui\nRestart=on-failure\n\n[Install]\nWantedBy=multi-user.target\n<\/code><\/pre>\n<p>Bu ad\u0131mlar, ev sunucusu y\u00f6neticisinin ger\u00e7ek d\u00fcnya senaryolar\u0131nda hangi teknolojiyi ne zaman kullanaca\u011f\u0131n\u0131 netle\u015ftirir.<\/p>\n<h2 id=\"bolum-17\">Decision Matrix<\/h2>\n<table>\n<thead>\n<tr>\n<th>Kriter<\/th>\n<th>Docker<\/th>\n<th>LXC<\/th>\n<th>VM<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Performans<\/strong><\/td>\n<td>Y\u00fcksek<\/td>\n<td>Orta<\/td>\n<td>D\u00fc\u015f\u00fck<\/td>\n<\/tr>\n<tr>\n<td><strong>G\u00fcvenlik<\/strong><\/td>\n<td>Orta<\/td>\n<td>Y\u00fcksek<\/td>\n<td>\u00c7ok Y\u00fcksek<\/td>\n<\/tr>\n<tr>\n<td><strong>Bak\u0131m Kolayl\u0131\u011f\u0131<\/strong><\/td>\n<td>Kolay<\/td>\n<td>Orta<\/td>\n<td>Zor<\/td>\n<\/tr>\n<tr>\n<td><strong>Maliyet<\/strong><\/td>\n<td>D\u00fc\u015f\u00fck<\/td>\n<td>Orta<\/td>\n<td>Y\u00fcksek<\/td>\n<\/tr>\n<tr>\n<td><strong>Esneklik<\/strong><\/td>\n<td>Y\u00fcksek<\/td>\n<td>Orta<\/td>\n<td>D\u00fc\u015f\u00fck<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0130zleme<\/strong><\/td>\n<td>Kolay<\/td>\n<td>Orta<\/td>\n<td>Zor<\/td>\n<\/tr>\n<tr>\n<td><strong>Yedekleme<\/strong><\/td>\n<td>Basit<\/td>\n<td>Orta<\/td>\n<td>Kompleks<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Her bir kriteri kendi ortam\u0131n\u0131za g\u00f6re 1\u20115 aras\u0131 puanlayarak en uygun \u00e7\u00f6z\u00fcm\u00fc se\u00e7in. \u00d6rne\u011fin, \u201cG\u00fcvenlik\u201d puan\u0131 5 ise VM tercih edin; \u201cPerformans\u201d puan\u0131 5 ise Docker tercih edin.<\/p>\n<h2 id=\"bolum-18\">Deployment Checklist<\/h2>\n<ul>\n<li>\u2610 G\u00fcvenli registry\u2019den image \u00e7ekildi  <\/li>\n<li>\u2610 Resource limits (memory, CPU) tan\u0131mland\u0131  <\/li>\n<li>\u2610 Health check tan\u0131mland\u0131  <\/li>\n<li>\u2610 A\u011f izolasyonu yap\u0131land\u0131r\u0131ld\u0131  <\/li>\n<li>\u2610 Yedekleme stratejisi belirlendi  <\/li>\n<li>\u2610 Loglama ve monitoring yap\u0131land\u0131r\u0131ld\u0131  <\/li>\n<\/ul>\n<h2 id=\"bolum-19\">Security Checklist<\/h2>\n<ul>\n<li>\u2610 Least privilege kullan\u0131c\u0131 ayarland\u0131  <\/li>\n<li>\u2610 Secure base image (\u00f6r. <code>alpine<\/code>) kullan\u0131ld\u0131  <\/li>\n<li>\u2610 Logging ve monitoring yap\u0131land\u0131r\u0131ld\u0131  <\/li>\n<li>\u2610 Backup ve snapshot stratejisi belirlendi  <\/li>\n<li>\u2610 Security audit raporlar\u0131 olu\u015fturuldu  <\/li>\n<li>\u2610 D\u00fczenli olarak image g\u00fcncellemeleri yap\u0131ld\u0131  <\/li>\n<li>\u2610 Firewall ve iptables kurallar\u0131 g\u00f6zden ge\u00e7irildi  <\/li>\n<li>\u2610 Giri\u015f denetimleri (fail2ban) eklendi  <\/li>\n<\/ul>\n<h2 id=\"bolum-20\">FAQ<\/h2>\n<h3 id=\"bolum-21\">Ev Sunucusunda Docker m\u0131, LXC mi, yoksa VM mi daha mant\u0131kl\u0131?<\/h3>\n<blockquote>\n<p>Docker, hafif uygulama da\u011f\u0131t\u0131m\u0131 i\u00e7in ideal. LXC, sistem d\u00fczeyinde izole ortam ve daha az kaynak t\u00fcketimi sunar. VM ise tam izolasyon ve donan\u0131m destekli uygulamalar i\u00e7in uygundur. Hangi teknolojinin daha mant\u0131kl\u0131 oldu\u011fu, kullan\u0131m senaryonuza ve kaynak k\u0131s\u0131tlaman\u0131za ba\u011fl\u0131d\u0131r.<\/p>\n<\/blockquote>\n<h3 id=\"bolum-22\">Ev Sunucusunda Docker m\u0131, LXC mi, yoksa VM mi kullan\u0131rken en yayg\u0131n hata nedir?<\/h3>\n<blockquote>\n<p>En yayg\u0131n hata, root kullan\u0131c\u0131yla konteyner \u00e7al\u0131\u015ft\u0131rmak ve izole alanlar\u0131 yanl\u0131\u015f yap\u0131land\u0131rmakt\u0131r. Ayr\u0131ca, image g\u00fcncellemelerini ihmal etmek de g\u00fcvenlik a\u00e7\u0131klar\u0131na yol a\u00e7ar. Bu hatalar, <code>docker run --user<\/code> ve <code>lxc.cgroup2.devices.allow<\/code> gibi ayarlarla \u00f6nlenebilir.<\/p>\n<\/blockquote>\n<h3 id=\"bolum-23\">Konkrete \u00f6rnekler ve ger\u00e7ek d\u00fcnya senaryolar\u0131 nas\u0131l ele al\u0131nmal\u0131?<\/h3>\n<blockquote>\n<p>Ger\u00e7ek senaryolarda, her teknoloji i\u00e7in minimum yap\u0131land\u0131rma dosyalar\u0131 ve otomatik yedekleme script\u2019leri haz\u0131rlanmal\u0131d\u0131r. \u00d6rne\u011fin, Plex + Subsonic i\u00e7in Docker Compose, Nextcloud + Duplicity i\u00e7in LXC, Minecraft i\u00e7in VM kullanarak, hem performans hem de g\u00fcvenlik dengesi sa\u011flanabilir.<\/p>\n<\/blockquote>\n<h3 id=\"bolum-24\">Ev sunucusunda konteynerle\u015ftirme ile sanalla\u015ft\u0131rma aras\u0131nda se\u00e7imi etkileyen fakt\u00f6rler nelerdir?<\/h3>\n<blockquote>\n<p>Fakt\u00f6rler aras\u0131nda CPU\/Memory t\u00fcketimi, uygulama ba\u011f\u0131ml\u0131l\u0131klar\u0131, g\u00fcncelleme s\u0131kl\u0131\u011f\u0131, g\u00fcvenlik gereksinimleri ve y\u00f6netim karma\u015f\u0131kl\u0131\u011f\u0131 yer al\u0131r. Docker, h\u0131zl\u0131 da\u011f\u0131t\u0131m ve d\u00fc\u015f\u00fck kaynak t\u00fcketimi sunarken, VM, tam izolasyon ve donan\u0131m deste\u011fi sa\u011flar. LXC ise bu iki u\u00e7 aras\u0131nda bir denge sunar.<\/p>\n<\/blockquote>\n<h3 id=\"bolum-25\">Hangi durumda LXC kullanmak, Docker ile VM aras\u0131nda bir avantaj sa\u011flar?<\/h3>\n<blockquote>\n<p>LXC, sistem bile\u015fenlerini (\u00f6rn. PostgreSQL) ayr\u0131 bir konteynerde \u00e7al\u0131\u015ft\u0131r\u0131rken, uygulama konteynerlerinden izole edilmesini istedi\u011finizde uygundur. Docker konteynerleri i\u00e7inde ayn\u0131 OS \u00e7ekirde\u011fini payla\u015f\u0131r; LXC ise ayn\u0131 \u00e7ekirdekte sanal bir ortam yarat\u0131r, bu da CPU\/Memory kullan\u0131m\u0131n\u0131 daha verimli hale getirir. Ayr\u0131ca LXC, VM\u2019lerin tam donan\u0131m izole edilme seviyesini ge\u00e7mez ancak g\u00fcvenlik i\u00e7in ek cgroup ve seccomp filtreleri sunar.<\/p>\n<\/blockquote>\n<h3 id=\"bolum-26\">Ev sunucusunda Docker, LXC ve VM i\u00e7in birden fazla ortamda yedekleme nas\u0131l yap\u0131l\u0131r?<\/h3>\n<blockquote>\n<ul>\n<li><strong>Docker<\/strong>: <code>docker export<\/code> ile konteyner dosyas\u0131n\u0131 \u00e7\u0131kar\u0131p, <code>docker save<\/code> ile image\u2019i kaydedin. Ard\u0131ndan <code>rsync<\/code> ile bu dosyalar\u0131 uzak sunucuya aktar\u0131n.  <\/li>\n<li><strong>LXC<\/strong>: <code>pct snapshot<\/code> komutuyla snapshot al\u0131n, sonra <code>pct dump<\/code> ile dosyaya aktar\u0131n.  <\/li>\n<li><strong>VM<\/strong>: <code>qemu-img snapshot<\/code> ile snapshot al\u0131n, <code>scp<\/code> ile uzak sunucuya kopyalay\u0131n.  <\/li>\n<li><strong>Ortak<\/strong>: <code>borgbackup<\/code> gibi ar\u015fivleme arac\u0131 ile dosya sistemini \u015fifreli bi\u00e7imde yedekleyin.<\/li>\n<\/ul>\n<\/blockquote>\n<h3 id=\"bolum-27\">Ev sunucusunda Docker konteynerlerini nas\u0131l \u00f6l\u00e7eklendirebilirim?<\/h3>\n<blockquote>\n<p>Docker Compose yerine <strong>Docker Swarm<\/strong> veya <strong>Kubernetes<\/strong> kullanabilirsiniz. Basit \u00f6l\u00e7eklendirme i\u00e7in <code>docker service scale web=3<\/code> gibi komutlarla pod say\u0131s\u0131n\u0131 art\u0131rabilirsiniz. Ancak ev ortam\u0131nda tek bir host varsa, CPU\/Memory s\u0131n\u0131rlamalar\u0131yla \u00e7ok say\u0131da konteyner \u00e7al\u0131\u015ft\u0131rmak riskli olabilir; bu y\u00fczden her konteynerin kaynak limiti belirlenmeli.<\/p>\n<\/blockquote>\n<h3 id=\"bolum-28\">LXC konteynerinde kullan\u0131c\u0131 bazl\u0131 kaynak s\u0131n\u0131rlamas\u0131 nas\u0131l yap\u0131l\u0131r?<\/h3>\n<blockquote>\n<p><code>lxc.cgroup2.cpu.max<\/code> ve <code>lxc.cgroup2.memory.max<\/code> sat\u0131rlar\u0131n\u0131 <code>\/etc\/pve\/lxc\/101.conf<\/code> i\u00e7inde ekleyin. \u00d6rne\u011fin:<\/p>\n<\/blockquote>\n<pre><code class=\"language-bash\">pct set 101 -lxc.conf \"lxc.cgroup2.cpu.max = 50000 100000\"\npct set 101 -lxc.conf \"lxc.cgroup2.memory.max = 512M\"\n<\/code><\/pre>\n<p>Bu, konteynerin CPU zaman\u0131n\u0131 %50 ile s\u0131n\u0131rlar ve 512\u202fMB RAM kullanmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3 id=\"bolum-29\">VM\u2019de d\u00fc\u015f\u00fck gecikme ile a\u011f eri\u015fimi nas\u0131l sa\u011flan\u0131r?<\/h3>\n<blockquote>\n<p>VM\u2019yi <strong>Bridged<\/strong> a\u011f tipine (\u00f6r. <code>bridge=vmbr0<\/code>) ayarlay\u0131n. Ayr\u0131ca <code>qemu-guest-agent<\/code> ile a\u011f konfig\u00fcrasyonunu dinamik olarak g\u00fcncelleyin. Y\u00fcksek performans i\u00e7in VM\u2019de <code>e1000<\/code> yerine <code>virtio-net<\/code> s\u00fcr\u00fcc\u00fcs\u00fc kullan\u0131n.<\/p>\n<\/blockquote>\n<h2 id=\"bolum-30\">Sonu\u00e7<\/h2>\n<p>bu rehber, LXC ve VM aras\u0131nda se\u00e7im yaparken, kaynak t\u00fcketimi, izolasyon d\u00fczeyi, y\u00f6netim kolayl\u0131\u011f\u0131 ve g\u00fcvenlik ba\u015fl\u0131ca kriterlerdir. Docker, hafif ve h\u0131zl\u0131 da\u011f\u0131t\u0131m i\u00e7in tercih edilirken, VM tam izolasyon ve donan\u0131m deste\u011fi sunar. LXC ise bu iki u\u00e7 aras\u0131nda bir denge sa\u011flar.<\/p>\n<p>bu rehber, LXC ve VM kar\u015f\u0131la\u015ft\u0131rmas\u0131 ile detayl\u0131 analiz, ve Ev Sunucusunda Docker, LXC ve VM i\u00e7in sorun giderme rehberi ile kar\u015f\u0131la\u015f\u0131lan hatalar\u0131 nas\u0131l \u00e7\u00f6zece\u011finizi \u00f6\u011frenebilirsiniz.<\/p>\n<p>B\u00fct\u00fcn bu bilgiler, ev sunucusu y\u00f6neticilerinin risk-first yakla\u015f\u0131m\u0131n\u0131 benimseyerek, g\u00fcvenli, s\u00fcrd\u00fcr\u00fclebilir ve verimli bir ortam kurmalar\u0131n\u0131 sa\u011flar.  <\/p>\n<p><em>Ek Kaynaklar:<\/em><br \/>\n&#8211; <a href=\"https:\/\/www.reddit.com\/r\/selfhosted\/comments\/1gz5oyn\/virtualization_or_containerization_for_a_home\/?tl=tr\" rel=\"noopener noreferrer\" target=\"_blank\">Reddit toplulu\u011funda tart\u0131\u015f\u0131lan \u00f6rnekler<\/a><br \/>\n&#8211; <a href=\"https:\/\/forum.proxmox.com\/threads\/docker-on-lxc-or-vm.52872\/\" rel=\"noopener noreferrer\" target=\"_blank\">Proxmox forumundaki inceleme<\/a><br \/>\n&#8211; <a href=\"https:\/\/medium.com\/@emreeayhaan\/docker-ve-linux-containers-lxc-2de2e7eccec8\" rel=\"noopener noreferrer\" target=\"_blank\">Medium blog yaz\u0131s\u0131ndaki detaylar<\/a><br \/>\n&#8211; <a href=\"https:\/\/aws.amazon.com\/tr\/compare\/the-difference-between-docker-vm\/\" rel=\"noopener noreferrer\" target=\"_blank\">AWS kar\u015f\u0131la\u015ft\u0131rma rehberi<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ev Sunucusunda Docker m\u0131 LXC mi VM mi: Hangi \u0130\u015f \u0130\u00e7in Hangisi Daha Mant\u0131kl\u0131? konusunda Docker vs LXC vs odakli net adimlar, kritik ipuclari ve hizli uygulanabili<\/p>\n","protected":false},"author":1,"featured_media":595,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Ev Sunucusunda Docker m\u0131: 2026 Pratik Rehber","rank_math_description":"Ev Sunucusunda Docker m\u0131 LXC mi VM mi: Hangi \u0130\u015f \u0130\u00e7in Hangisi Daha Mant\u0131kl\u0131? konusunda Docker vs LXC vs odakli net adimlar, kritik ipuclari ve hizli uygulanabili","rank_math_focus_keyword":"Ev Sunucusunda Docker m\u0131","footnotes":""},"categories":[225],"tags":[230,74,226,229,227,228],"class_list":["post-596","post","type-post","status-publish","format-standard","has-post-thumbnail","tag-containerization","tag-docker","tag-docker-vs-lxc-vs","tag-home-server","tag-lxc","tag-vm"],"_links":{"self":[{"href":"https:\/\/m4.ist\/index.php\/wp-json\/wp\/v2\/posts\/596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/m4.ist\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/m4.ist\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/m4.ist\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/m4.ist\/index.php\/wp-json\/wp\/v2\/comments?post=596"}],"version-history":[{"count":0,"href":"https:\/\/m4.ist\/index.php\/wp-json\/wp\/v2\/posts\/596\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/m4.ist\/index.php\/wp-json\/wp\/v2\/media\/595"}],"wp:attachment":[{"href":"https:\/\/m4.ist\/index.php\/wp-json\/wp\/v2\/media?parent=596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/m4.ist\/index.php\/wp-json\/wp\/v2\/categories?post=596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/m4.ist\/index.php\/wp-json\/wp\/v2\/tags?post=596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}