{"id":32490,"date":"2025-10-22T10:42:26","date_gmt":"2025-10-22T07:42:26","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32490"},"modified":"2025-10-22T10:42:26","modified_gmt":"2025-10-22T07:42:26","slug":"lxc-nedir-ve-neden-kullanmaliyiz","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/","title":{"rendered":"LXC Nedir ve Neden Kullanmal\u0131y\u0131z?"},"content":{"rendered":"<p><body><\/p>\n<p>Linux Konteynerleri (LXC), sanalla\u015ft\u0131rma d\u00fcnyas\u0131nda hafif ve verimli bir alternatif sunar. Geleneksel sanal makinelerin aksine, LXC, ana sistemin \u00e7ekirde\u011fini payla\u015farak i\u015fletim sistemi d\u00fczeyinde izolasyon sa\u011flar. Bu sayede, daha az kaynak t\u00fcketimiyle birden fazla izole ortam \u00e7al\u0131\u015ft\u0131rabilir, geli\u015ftirme, test veya \u00e7e\u015fitli servislerin da\u011f\u0131t\u0131m\u0131n\u0131 kolayla\u015ft\u0131rabilirsiniz.<\/p>\n<p>Bu rehberde, Ubuntu 13.04 \u00e7al\u0131\u015ft\u0131ran bir VPS (Sanal \u00d6zel Sunucu) \u00fczerinde LXC&#8217;ye nas\u0131l ba\u015flayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. Ubuntu 13.04 eski bir s\u00fcr\u00fcm olsa da, LXC&#8217;nin temel prensipleri ve kurulum ad\u0131mlar\u0131 bu s\u00fcr\u00fcmde de ge\u00e7erlidir ve mevcut altyap\u0131n\u0131z\u0131 verimli bir \u015fekilde kullanman\u0131z\u0131 sa\u011flayabilir.<\/p>\n<h2>LXC Nedir ve Neden Kullanmal\u0131y\u0131z?<\/h2>\n<p>LXC (Linux Containers), Linux \u00e7ekirde\u011finin cgroups (control groups) ve namespace \u00f6zelliklerini kullanarak birden fazla izole Linux ortam\u0131n\u0131 ayn\u0131 ana sistem \u00fczerinde \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131yan bir i\u015fletim sistemi d\u00fczeyinde sanalla\u015ft\u0131rma teknolojisidir. Geleneksel sanal makineler (KVM, VirtualBox gibi) her sanal makine i\u00e7in ayr\u0131 bir \u00e7ekirdek ve i\u015fletim sistemi imaj\u0131 gerektirirken, LXC konteynerleri ana sistemin \u00e7ekirde\u011fini payla\u015f\u0131r. Bu, \u00f6nemli avantajlar sa\u011flar:<\/p>\n<ul>\n<li><strong>Daha Az Kaynak T\u00fcketimi:<\/strong> Her konteynerin kendi \u00e7ekirde\u011fi olmad\u0131\u011f\u0131ndan, RAM ve CPU kullan\u0131m\u0131 geleneksel sanal makinelere g\u00f6re \u00e7ok daha d\u00fc\u015f\u00fckt\u00fcr. Bu, \u00f6zellikle s\u0131n\u0131rl\u0131 kaynaklara sahip bir VPS i\u00e7in kritik bir avantajd\u0131r.<\/li>\n<li><strong>Daha H\u0131zl\u0131 Ba\u015flang\u0131\u00e7 S\u00fcreleri:<\/strong> Konteynerler saniyeler i\u00e7inde ba\u015flar, \u00e7\u00fcnk\u00fc tam bir i\u015fletim sistemi \u00f6ny\u00fcklemesi yapmazlar.<\/li>\n<li><strong>Daha Y\u00fcksek Yo\u011funluk:<\/strong> Ayn\u0131 donan\u0131m \u00fczerinde daha fazla izole servis veya uygulama \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/li>\n<li><strong>\u0130zolasyon:<\/strong> Her konteynerin kendi dosya sistemi, a\u011f aray\u00fczleri, s\u00fcre\u00e7 a\u011fac\u0131 ve kullan\u0131c\u0131 alan\u0131 vard\u0131r. Bu, servislerinizin birbirini etkilemesini engeller ve g\u00fcvenlik sa\u011flar.<\/li>\n<li><strong>Esneklik:<\/strong> Geli\u015ftirme, test, \u00fcretim ortamlar\u0131n\u0131 kolayca olu\u015fturup yok edebilir, farkl\u0131 uygulamalar i\u00e7in ayr\u0131 ortamlar sa\u011flayabilirsiniz.<\/li>\n<\/ul>\n<p>Bir VPS \u00fczerinde LXC kullanmak, tek bir sunucuda birden fazla web sitesi, veritaban\u0131 sunucusu, geli\u015ftirme ortam\u0131 veya test ortam\u0131 gibi farkl\u0131 servisleri g\u00fcvenli ve izole bir \u015fekilde \u00e7al\u0131\u015ft\u0131rman\u0131n maliyet etkin bir yoludur.<\/p>\n<h2>LXC Kurulumu ve Temel Yap\u0131land\u0131rma<\/h2>\n<p>Ubuntu 13.04 VPS&#8217;inizde LXC&#8217;yi kurmak ve temel yap\u0131land\u0131rmalar\u0131 yapmak olduk\u00e7a basittir. \u0130lk olarak sunucunuzu g\u00fcncelleyerek ba\u015flayal\u0131m.<\/p>\n<h3>Sistem G\u00fcncellemesi ve Gerekli Paketlerin Kurulumu<\/h3>\n<p>VPS&#8217;inize SSH ile ba\u011fland\u0131ktan sonra, sistem paket listesini g\u00fcncelleyin ve y\u00fckl\u00fc paketleri y\u00fckseltin:<\/p>\n<pre><code>sudo apt-get update\nsudo apt-get upgrade -y<\/code><\/pre>\n<p>\u015eimdi LXC ve konteyner olu\u015fturmak i\u00e7in gerekli olan di\u011fer yard\u0131mc\u0131 programlar\u0131 kural\u0131m:<\/p>\n<pre><code>sudo apt-get install lxc bridge-utils debootstrap -y<\/code><\/pre>\n<ul>\n<li><code>lxc<\/code>: LXC konteyner y\u00f6netim ara\u00e7lar\u0131n\u0131 i\u00e7erir.<\/li>\n<li><code>bridge-utils<\/code>: A\u011f k\u00f6pr\u00fcs\u00fc olu\u015fturmak ve y\u00f6netmek i\u00e7in kullan\u0131l\u0131r (LXC konteynerlerinin a\u011f ileti\u015fimi i\u00e7in gereklidir).<\/li>\n<li><code>debootstrap<\/code>: Konteynerlerin temel dosya sistemini olu\u015fturmak i\u00e7in kullan\u0131lan bir ara\u00e7t\u0131r.<\/li>\n<\/ul>\n<h3>LXC Yap\u0131land\u0131rmas\u0131n\u0131n Kontrol\u00fc<\/h3>\n<p>LXC&#8217;nin do\u011fru \u015fekilde \u00e7al\u0131\u015fabilmesi i\u00e7in Linux \u00e7ekirde\u011finizin baz\u0131 \u00f6zelliklere sahip olmas\u0131 gerekir. Bunu kontrol etmek i\u00e7in <code>lxc-checkconfig<\/code> komutunu kullanabilirsiniz:<\/p>\n<pre><code>lxc-checkconfig<\/code><\/pre>\n<p>Komutun \u00e7\u0131kt\u0131s\u0131nda t\u00fcm maddelerin <code>enabled<\/code> (etkin) olarak g\u00f6r\u00fcnmesi idealdir. \u00d6zellikle <code>NAMESPACES<\/code> ve <code>CGROUPS<\/code> ile ilgili maddelerin etkin olmas\u0131 kritik \u00f6neme sahiptir. Ubuntu 13.04 \u00e7ekirdekleri genellikle bu gereksinimleri kar\u015f\u0131lar.<\/p>\n<h3>Varsay\u0131lan A\u011f K\u00f6pr\u00fcs\u00fc Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>LXC varsay\u0131lan olarak <code>lxcbr0<\/code> ad\u0131nda bir a\u011f k\u00f6pr\u00fcs\u00fc olu\u015fturur ve konteynerlere bu k\u00f6pr\u00fc \u00fczerinden IP adresi atar. Bu genellikle otomatik olarak yap\u0131land\u0131r\u0131l\u0131r, ancak kontrol etmek veya de\u011fi\u015ftirmek isterseniz <code>\/etc\/default\/lxc<\/code> veya <code>\/etc\/lxc\/default.conf<\/code> dosyalar\u0131na bakabilirsiniz.<\/p>\n<p>Varsay\u0131lan LXC yap\u0131land\u0131rmas\u0131 genellikle <code>\/etc\/lxc\/default.conf<\/code> dosyas\u0131nda bulunur. Bu dosya, olu\u015fturulan t\u00fcm konteynerler i\u00e7in ge\u00e7erli olacak ayarlar\u0131 i\u00e7erir. \u00d6rne\u011fin, a\u011f ayarlar\u0131 \u015funa benzer olabilir:<\/p>\n<pre><code>lxc.net.0.type = veth\nlxc.net.0.link = lxcbr0\nlxc.net.0.flags = up\nlxc.net.0.hwaddr = 00:16:3e:xx:xx:xx<\/code><\/pre>\n<p>Bu ayarlar, her konteynerin <code>lxcbr0<\/code> k\u00f6pr\u00fcs\u00fcne ba\u011fl\u0131 sanal bir Ethernet aray\u00fcz\u00fc (veth) kullanmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>\u0130lk LXC Konteynerinizi Olu\u015fturma ve Y\u00f6netme<\/h2>\n<p>Art\u0131k LXC kurulu ve temel yap\u0131land\u0131rmalar\u0131 yap\u0131ld\u0131. \u015eimdi ilk Ubuntu konteynerimizi olu\u015ftural\u0131m.<\/p>\n<h3>Yeni Bir Konteyner Olu\u015fturma<\/h3>\n<p>Bir LXC konteyneri olu\u015fturmak i\u00e7in <code>lxc-create<\/code> komutunu kullan\u0131r\u0131z. Ubuntu 13.04 \u00fczerinde, genellikle Ubuntu&#8217;nun daha g\u00fcncel LTS (Uzun S\u00fcreli Destek) s\u00fcr\u00fcmlerini veya o d\u00f6neme yak\u0131n s\u00fcr\u00fcmleri hedeflemek en iyisidir. \u00d6rne\u011fin, Ubuntu 12.04 (Precise Pangolin) veya 14.04 (Trusty Tahr) gibi s\u00fcr\u00fcmleri hedefleyebiliriz. Bu \u00f6rnekte, <code>mycontainer<\/code> ad\u0131nda ve <code>trusty<\/code> (Ubuntu 14.04) s\u00fcr\u00fcm\u00fcnde bir konteyner olu\u015ftural\u0131m:<\/p>\n<pre><code>sudo lxc-create -t ubuntu -n mycontainer -- -r trusty<\/code><\/pre>\n<ul>\n<li><code>-t ubuntu<\/code>: Ubuntu \u015fablonunu kullanaca\u011f\u0131m\u0131z\u0131 belirtir.<\/li>\n<li><code>-n mycontainer<\/code>: Konteynerimize <code>mycontainer<\/code> ad\u0131n\u0131 verir.<\/li>\n<li><code>-- -r trusty<\/code>: \u015eablonun arg\u00fcmanlar\u0131n\u0131 belirtmek i\u00e7in kullan\u0131l\u0131r. Burada, olu\u015fturulacak Ubuntu s\u00fcr\u00fcm\u00fcn\u00fcn <code>trusty<\/code> (14.04) olaca\u011f\u0131n\u0131 s\u00f6yl\u00fcyoruz.<\/li>\n<\/ul>\n<p>Bu komut biraz zaman alabilir, \u00e7\u00fcnk\u00fc temel Ubuntu sistemini indirip kuracakt\u0131r. \u0130\u015flem tamamland\u0131\u011f\u0131nda, konteyneriniz <code>\/var\/lib\/lxc\/mycontainer<\/code> dizininde olu\u015fturulacakt\u0131r.<\/p>\n<h3>Konteynerleri Listeleme<\/h3>\n<p>Olu\u015fturdu\u011funuz konteynerleri ve durumlar\u0131n\u0131 g\u00f6rmek i\u00e7in:<\/p>\n<pre><code>sudo lxc-ls -f<\/code><\/pre>\n<p>Bu komut, konteynerin ad\u0131n\u0131, durumunu (STOPPED, RUNNING), IP adresini ve di\u011fer bilgileri g\u00f6sterecektir.<\/p>\n<h3>Konteyneri Ba\u015flatma<\/h3>\n<p>Konteynerinizi ba\u015flatmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code>sudo lxc-start -n mycontainer -d<\/code><\/pre>\n<ul>\n<li><code>-d<\/code>: Konteyneri arka planda (detached) ba\u015flat\u0131r.<\/li>\n<\/ul>\n<p>Konteynerin ba\u015flat\u0131ld\u0131\u011f\u0131ndan emin olmak i\u00e7in tekrar <code>lxc-ls -f<\/code> komutunu kullanabilirsiniz. Durumu <code>RUNNING<\/code> olarak g\u00f6r\u00fcnmelidir ve bir IP adresi atanm\u0131\u015f olmal\u0131d\u0131r.<\/p>\n<h3>Konteynere Ba\u011flanma<\/h3>\n<p>\u00c7al\u0131\u015fan bir konteynere ba\u011flanman\u0131n birka\u00e7 yolu vard\u0131r:<\/p>\n<h4>1. lxc-console ile Ba\u011flanma<\/h4>\n<p>Bu, konteynerin sanal konsoluna ba\u011flanman\u0131z\u0131 sa\u011flar. Genellikle ilk \u00f6ny\u00fckleme s\u0131ras\u0131nda veya sorun giderme i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code>sudo lxc-console -n mycontainer<\/code><\/pre>\n<p>Varsay\u0131lan kullan\u0131c\u0131 ad\u0131 <code>ubuntu<\/code> ve parola da <code>ubuntu<\/code> olacakt\u0131r. \u0130\u00e7eri girdikten sonra parolan\u0131z\u0131 de\u011fi\u015ftirmeniz \u015fiddetle tavsiye edilir. Konsoldan \u00e7\u0131kmak i\u00e7in <code>Ctrl+a q<\/code> tu\u015f kombinasyonunu kullan\u0131n.<\/p>\n<h4>2. lxc-attach ile Ba\u011flanma<\/h4>\n<p>Bu, \u00e7al\u0131\u015fan bir konteynerin s\u00fcre\u00e7 a\u011fac\u0131na do\u011frudan ba\u011flanman\u0131z\u0131 ve komutlar\u0131 ana sistemden \u00e7al\u0131\u015ft\u0131r\u0131yormu\u015f gibi \u00e7al\u0131\u015ft\u0131rman\u0131z\u0131 sa\u011flar. Konteyner i\u00e7inde <code>sudo<\/code> yetkilerine sahip olursunuz.<\/p>\n<pre><code>sudo lxc-attach -n mycontainer<\/code><\/pre>\n<p>\u00c7\u0131kmak i\u00e7in <code>exit<\/code> yazman\u0131z yeterlidir.<\/p>\n<h4>3. SSH ile Ba\u011flanma<\/h4>\n<p>Konteynerinize uzaktan eri\u015fim i\u00e7in SSH en yayg\u0131n y\u00f6ntemdir. \u0130lk olarak, konteynerin i\u00e7ine girip OpenSSH sunucusunu kurman\u0131z gerekir:<\/p>\n<pre><code>sudo lxc-attach -n mycontainer\napt-get update\napt-get install openssh-server -y\nexit<\/code><\/pre>\n<p>\u015eimdi ana VPS&#8217;inizden veya ba\u015fka bir makineden konteynerinize SSH yapabilirsiniz. Konteynerin IP adresini <code>sudo lxc-ls -f<\/code> komutuyla bulabilirsiniz.<\/p>\n<pre><code>ssh ubuntu@<KONTEYNER_IP_ADRESI><\/code><\/pre>\n<h3>Konteyneri Durdurma ve Yeniden Ba\u015flatma<\/h3>\n<p>Konteyneri durdurmak i\u00e7in:<\/p>\n<pre><code>sudo lxc-stop -n mycontainer<\/code><\/pre>\n<p>Konteyneri yeniden ba\u015flatmak i\u00e7in:<\/p>\n<pre><code>sudo lxc-reboot -n mycontainer<\/code><\/pre>\n<h3>Konteyneri Silme<\/h3>\n<p>Bir konteyneri tamamen silmek i\u00e7in \u00f6nce durdurman\u0131z gerekir:<\/p>\n<pre><code>sudo lxc-stop -n mycontainer\nsudo lxc-destroy -n mycontainer<\/code><\/pre>\n<h2>A\u011f Yap\u0131land\u0131rmas\u0131 ve Konteyner \u0130\u00e7inde Uygulama \u00c7al\u0131\u015ft\u0131rma<\/h2>\n<p>LXC konteynerleri varsay\u0131lan olarak ana sistemin olu\u015fturdu\u011fu <code>lxcbr0<\/code> a\u011f k\u00f6pr\u00fcs\u00fc \u00fczerinden internete eri\u015febilir ve kendi aralar\u0131nda ileti\u015fim kurabilirler. Ancak, bu konteynerlere d\u0131\u015far\u0131dan eri\u015fmek veya konteynerlerde \u00e7al\u0131\u015fan servisleri internete a\u00e7mak i\u00e7in ek yap\u0131land\u0131rmalar gerekebilir.<\/p>\n<h3>Konteyner IP Adresini Bulma<\/h3>\n<p>Konteynerinizin IP adresini \u00f6\u011frenmek i\u00e7in en kolay yol:<\/p>\n<pre><code>sudo lxc-ls -f<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>IPV4<\/code> s\u00fctununda IP adresini g\u00f6receksiniz.<\/p>\n<h3>Konteyner \u0130\u00e7inde Bir Web Sunucusu \u00c7al\u0131\u015ft\u0131rma<\/h3>\n<p>\u00d6rnek olarak, <code>mycontainer<\/code> i\u00e7inde bir Nginx web sunucusu kural\u0131m:<\/p>\n<pre><code>sudo lxc-attach -n mycontainer\napt-get update\napt-get install nginx -y\nexit<\/code><\/pre>\n<p>\u015eimdi ana VPS&#8217;inizden konteynerinize eri\u015ferek Nginx&#8217;in \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz:<\/p>\n<pre><code>curl http:\/\/<KONTEYNER_IP_ADRESI><\/code><\/pre>\n<p>Nginx&#8217;in varsay\u0131lan ho\u015f geldiniz sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>D\u0131\u015far\u0131dan Eri\u015fime A\u00e7ma (Port Y\u00f6nlendirme)<\/h3>\n<p>VPS&#8217;inizin genellikle tek bir genel IP adresi vard\u0131r. Konteynerinizdeki bir servisi (\u00f6rne\u011fin Nginx) d\u0131\u015f d\u00fcnyaya a\u00e7mak i\u00e7in ana VPS \u00fczerinde port y\u00f6nlendirme (port forwarding) yapman\u0131z gerekir. Bunu <code>iptables<\/code> kurallar\u0131 ile yapar\u0131z.<\/p>\n<p>\u00d6rne\u011fin, ana VPS&#8217;in 80. portuna gelen istekleri <code>mycontainer<\/code>&#8216;\u0131n 80. portuna y\u00f6nlendirelim. Konteyner IP adresinizin <code>10.0.3.100<\/code> oldu\u011funu varsayal\u0131m (kendi IP adresinizle de\u011fi\u015ftirin):<\/p>\n<pre><code>sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.0.3.100:80\nsudo iptables -A FORWARD -p tcp -d 10.0.3.100 --dport 80 -j ACCEPT<\/code><\/pre>\n<p>Bu kurallar, ana VPS&#8217;inizin genel IP adresine gelen HTTP (80) isteklerini konteynerinizin i\u00e7 IP adresine y\u00f6nlendirecektir.<\/p>\n<h4><code>iptables<\/code> Kurallar\u0131n\u0131 Kal\u0131c\u0131 Hale Getirme<\/h4>\n<p><code>iptables<\/code> kurallar\u0131 varsay\u0131lan olarak sunucu yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda kaybolur. Bu kurallar\u0131 kal\u0131c\u0131 hale getirmek i\u00e7in <code>iptables-persistent<\/code> paketini kurabilirsiniz:<\/p>\n<pre><code>sudo apt-get install iptables-persistent -y<\/code><\/pre>\n<p>Kurulum s\u0131ras\u0131nda mevcut kurallar\u0131 kaydetmek isteyip istemedi\u011finiz sorulacakt\u0131r. Evet yan\u0131t\u0131n\u0131 verin. Daha sonra kurallar\u0131 manuel olarak kaydetmek veya geri y\u00fcklemek i\u00e7in:<\/p>\n<pre><code>sudo netfilter-persistent save\nsudo netfilter-persistent reload<\/code><\/pre>\n<p>Art\u0131k VPS&#8217;inizin genel IP adresine web taray\u0131c\u0131n\u0131zla eri\u015fti\u011finizde, LXC konteynerinizde \u00e7al\u0131\u015fan Nginx web sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Bu rehberde, Ubuntu 13.04 VPS&#8217;inizde LXC&#8217;yi kurmay\u0131, ilk konteynerinizi olu\u015fturmay\u0131, y\u00f6netmeyi ve temel a\u011f yap\u0131land\u0131rmalar\u0131n\u0131 yapmay\u0131 \u00f6\u011frendiniz. LXC, sunucu kaynaklar\u0131n\u0131z\u0131 daha verimli kullanman\u0131z\u0131 ve servislerinizi izole etmenizi sa\u011flayan g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Daha ileri d\u00fczey kullan\u0131mlar i\u00e7in kaynak limitleri (cgroups), geli\u015fmi\u015f a\u011f yap\u0131land\u0131rmalar\u0131 ve konteyner yedekleme gibi konular\u0131 ara\u015ft\u0131rabilirsiniz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h3>Konteynerim internete \u00e7\u0131km\u0131yor, ne yapmal\u0131y\u0131m?<\/h3>\n<p>\u00d6ncelikle ana sistemde <code>lxcbr0<\/code> a\u011f k\u00f6pr\u00fcs\u00fcn\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan ve konteynerin bir IP adresi ald\u0131\u011f\u0131ndan emin olun (<code>sudo lxc-ls -f<\/code>). Ard\u0131ndan, ana sistemin IP y\u00f6nlendirme (IP forwarding) \u00f6zelli\u011finin etkin oldu\u011fundan emin olun. Bunu kontrol etmek i\u00e7in <code>sysctl net.ipv4.ip_forward<\/code> komutunu kullan\u0131n. E\u011fer \u00e7\u0131kt\u0131 <code>0<\/code> ise, <code>sudo sysctl -w net.ipv4.ip_forward=1<\/code> komutuyla etkinle\u015ftirebilir ve kal\u0131c\u0131 hale getirmek i\u00e7in <code>\/etc\/sysctl.conf<\/code> dosyas\u0131na <code>net.ipv4.ip_forward = 1<\/code> ekleyebilirsiniz. Son olarak, ana sistemdeki g\u00fcvenlik duvar\u0131n\u0131z\u0131n (\u00f6rne\u011fin UFW veya iptables) <code>lxcbr0<\/code> aray\u00fcz\u00fcnden gelen ve giden trafi\u011fi engellemedi\u011finden emin olun.<\/p>\n<h3>Konteynerime SSH ile ba\u011flanam\u0131yorum?<\/h3>\n<p>Konteyner i\u00e7inde OpenSSH sunucusunun kurulu ve \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun (<code>sudo lxc-attach -n mycontainer<\/code> ve sonra <code>service ssh status<\/code>). Ayr\u0131ca, konteynerin IP adresini do\u011fru kulland\u0131\u011f\u0131n\u0131zdan ve ana sistemdeki g\u00fcvenlik duvar\u0131n\u0131n SSH (varsay\u0131lan 22) portunu engellemedi\u011finden emin olun.<\/p>\n<h3>LXC mi kullanmal\u0131y\u0131m yoksa Docker m\u0131?<\/h3>\n<p>LXC, i\u015fletim sistemi d\u00fczeyinde sanalla\u015ft\u0131rma sa\u011flar ve genellikle daha \u00e7ok &#8220;hafif bir sanal makine&#8221; gibi davran\u0131r. Bir LXC konteyneri i\u00e7inde birden fazla servis \u00e7al\u0131\u015ft\u0131rabilirsiniz. Docker ise uygulama d\u00fczeyinde kaps\u00fclleme sa\u011flar ve genellikle tek bir uygulaman\u0131n veya servisin \u00e7al\u0131\u015fmas\u0131 i\u00e7in tasarlanm\u0131\u015ft\u0131r. Docker&#8217;\u0131n katmanl\u0131 dosya sistemi ve imaj y\u00f6netimi daha modern bir yakla\u015f\u0131m sunar. E\u011fer temel bir i\u015fletim sistemi ortam\u0131na ihtiyac\u0131n\u0131z varsa ve ana sistemin \u00e7ekirde\u011fini payla\u015fmak sorun de\u011filse LXC uygun olabilir. Uygulama da\u011f\u0131t\u0131m\u0131 ve \u00f6l\u00e7eklendirme i\u00e7in Docker daha pop\u00fclerdir. Ubuntu 13.04&#8217;te Docker deste\u011fi daha s\u0131n\u0131rl\u0131 olabilir, bu y\u00fczden LXC bu senaryo i\u00e7in daha pratik bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/p>\n<h3>Konteynerlerimin kaynaklar\u0131n\u0131 (CPU, RAM) nas\u0131l s\u0131n\u0131rlar\u0131m?<\/h3>\n<p>LXC, Linux \u00e7ekirde\u011finin cgroups (control groups) \u00f6zelli\u011fini kullanarak konteynerlerin CPU, RAM ve disk G\/\u00c7 gibi kaynaklar\u0131n\u0131 s\u0131n\u0131rlaman\u0131za olanak tan\u0131r. Konteynerin yap\u0131land\u0131rma dosyas\u0131na (<code>\/var\/lib\/lxc\/mycontainer\/config<\/code>) a\u015fa\u011f\u0131daki gibi sat\u0131rlar ekleyerek bunu yapabilirsiniz:<\/p>\n<pre><code>lxc.cgroup.memory.limit_in_bytes = 512M\nlxc.cgroup.cpu.shares = 512\nlxc.cgroup.cpuset.cpus = 0-1<\/code><\/pre>\n<p>Bu ayarlar, konteynere 512 MB RAM s\u0131n\u0131r\u0131, CPU kaynaklar\u0131n\u0131n bir k\u0131sm\u0131n\u0131 ve sadece 0 ve 1 numaral\u0131 CPU \u00e7ekirdeklerini kullanma yetkisi verir.<\/p>\n<h3>Ubuntu 13.04 eski bir s\u00fcr\u00fcm, LXC kullanmak g\u00fcvenli mi?<\/h3>\n<p>Ubuntu 13.04 (Saucy Salamander) resmi olarak ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn sonuna ula\u015fm\u0131\u015ft\u0131r ve art\u0131k g\u00fcvenlik g\u00fcncellemeleri almamaktad\u0131r. Bu, \u00f6zellikle internete a\u00e7\u0131k bir VPS i\u00e7in \u00f6nemli bir g\u00fcvenlik riski olu\u015fturur. \u00dcretim ortamlar\u0131nda kullanman\u0131z \u00f6nerilmez. Bu rehber, belirli bir eski s\u00fcr\u00fcmde LXC&#8217;yi nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 g\u00f6stermek i\u00e7in haz\u0131rlanm\u0131\u015ft\u0131r. M\u00fcmk\u00fcnse, daha g\u00fcncel ve desteklenen bir Ubuntu LTS s\u00fcr\u00fcm\u00fcne (\u00f6rne\u011fin 18.04, 20.04 veya 22.04) y\u00fckseltme yapman\u0131z \u015fiddetle tavsiye edilir. G\u00fcncel s\u00fcr\u00fcmlerde LXC&#8217;nin daha yeni \u00f6zellikleri ve daha iyi g\u00fcvenlik entegrasyonlar\u0131 bulunmaktad\u0131r.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Linux Konteynerleri (LXC), sanalla\u015ft\u0131rma d\u00fcnyas\u0131nda hafif ve verimli bir alternatif sunar. Geleneksel sanal makinelerin aksine, LXC, ana sistemi","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-32490","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>LXC Nedir ve Neden Kullanmal\u0131y\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LXC Nedir ve Neden Kullanmal\u0131y\u0131z?\" \/>\n<meta property=\"og:description\" content=\"Linux Konteynerleri (LXC), sanalla\u015ft\u0131rma d\u00fcnyas\u0131nda hafif ve verimli bir alternatif sunar. Geleneksel sanal makinelerin aksine, LXC, ana sistemi\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-22T07:42:26+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"LXC Nedir ve Neden Kullanmal\u0131y\u0131z?\",\"datePublished\":\"2025-10-22T07:42:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/\"},\"wordCount\":1945,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/\",\"name\":\"LXC Nedir ve Neden Kullanmal\u0131y\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-22T07:42:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"LXC Nedir ve Neden Kullanmal\u0131y\u0131z?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"LXC Nedir ve Neden Kullanmal\u0131y\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/","og_locale":"tr_TR","og_type":"article","og_title":"LXC Nedir ve Neden Kullanmal\u0131y\u0131z?","og_description":"Linux Konteynerleri (LXC), sanalla\u015ft\u0131rma d\u00fcnyas\u0131nda hafif ve verimli bir alternatif sunar. Geleneksel sanal makinelerin aksine, LXC, ana sistemi","og_url":"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-22T07:42:26+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"11 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"LXC Nedir ve Neden Kullanmal\u0131y\u0131z?","datePublished":"2025-10-22T07:42:26+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/"},"wordCount":1945,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/","url":"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/","name":"LXC Nedir ve Neden Kullanmal\u0131y\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-22T07:42:26+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/lxc-nedir-ve-neden-kullanmaliyiz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"LXC Nedir ve Neden Kullanmal\u0131y\u0131z?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=32490"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32490\/revisions"}],"predecessor-version":[{"id":32491,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32490\/revisions\/32491"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}