{"id":3640,"date":"2025-12-29T15:22:59","date_gmt":"2025-12-29T12:22:59","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/docker-ile-vpste-izole-uygulama-barindirma-adim-adim-rehber\/"},"modified":"2025-12-29T15:22:59","modified_gmt":"2025-12-29T12:22:59","slug":"docker-ile-vpste-izole-uygulama-barindirma-adim-adim-rehber","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/docker-ile-vpste-izole-uygulama-barindirma-adim-adim-rehber\/","title":{"rendered":"Docker ile VPS\u2019te \u0130zole Uygulama Bar\u0131nd\u0131rma: Ad\u0131m Ad\u0131m Rehber"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#Docker_ile_VPSte_Izole_Uygulama_Barindirma_Neden_Onemli\"><span class=\"toc_number toc_depth_1\">1<\/span> Docker ile VPS\u2019te \u0130zole Uygulama Bar\u0131nd\u0131rma Neden \u00d6nemli?<\/a><\/li><li><a href=\"#Temel_Kavramlar_VPS_Konteyner_ve_Docker_Iliskisi\"><span class=\"toc_number toc_depth_1\">2<\/span> Temel Kavramlar: VPS, Konteyner ve Docker \u0130li\u015fkisi<\/a><\/li><li><a href=\"#Docker_ile_VPSte_Izole_Uygulama_Barindirmanin_Avantajlari\"><span class=\"toc_number toc_depth_1\">3<\/span> Docker ile VPS\u2019te \u0130zole Uygulama Bar\u0131nd\u0131rman\u0131n Avantajlar\u0131<\/a><\/li><li><a href=\"#Adim_1_Dogru_VPS_ve_Linux_Dagitimini_Secmek\"><span class=\"toc_number toc_depth_1\">4<\/span> Ad\u0131m 1: Do\u011fru VPS ve Linux Da\u011f\u0131t\u0131m\u0131n\u0131 Se\u00e7mek<\/a><\/li><li><a href=\"#Adim_2_VPS_Uzerinde_Docker_Kurulumu\"><span class=\"toc_number toc_depth_1\">5<\/span> Ad\u0131m 2: VPS \u00dczerinde Docker Kurulumu<\/a><ul><li><a href=\"#Ubuntu_Debian_Uzerinde_Docker_Kurulumu\"><span class=\"toc_number toc_depth_2\">5.1<\/span> Ubuntu \/ Debian \u00dczerinde Docker Kurulumu<\/a><\/li><li><a href=\"#Docker_Compose_Kurulumu\"><span class=\"toc_number toc_depth_2\">5.2<\/span> Docker Compose Kurulumu<\/a><\/li><\/ul><\/li><li><a href=\"#Adim_3_Ilk_Konteynerinizi_Calistirmak\"><span class=\"toc_number toc_depth_1\">6<\/span> Ad\u0131m 3: \u0130lk Konteynerinizi \u00c7al\u0131\u015ft\u0131rmak<\/a><ul><li><a href=\"#Temel_Docker_Komutlarina_Kisa_Bakis\"><span class=\"toc_number toc_depth_2\">6.1<\/span> Temel Docker Komutlar\u0131na K\u0131sa Bak\u0131\u015f<\/a><\/li><\/ul><\/li><li><a href=\"#Adim_4_Basit_Bir_Uygulamayi_Konteynerlestirmek\"><span class=\"toc_number toc_depth_1\">7<\/span> Ad\u0131m 4: Basit Bir Uygulamay\u0131 Konteynerle\u015ftirmek<\/a><ul><li><a href=\"#Ornek_Proje_Yapisi\"><span class=\"toc_number toc_depth_2\">7.1<\/span> \u00d6rnek Proje Yap\u0131s\u0131<\/a><\/li><li><a href=\"#Dockerfile_Yazmak\"><span class=\"toc_number toc_depth_2\">7.2<\/span> Dockerfile Yazmak<\/a><\/li><\/ul><\/li><li><a href=\"#Adim_5_Docker_Compose_ile_Coklu_Servisi_Yonetmek\"><span class=\"toc_number toc_depth_1\">8<\/span> Ad\u0131m 5: Docker Compose ile \u00c7oklu Servisi Y\u00f6netmek<\/a><ul><li><a href=\"#Ornek_docker-composeyml\"><span class=\"toc_number toc_depth_2\">8.1<\/span> \u00d6rnek docker-compose.yml<\/a><\/li><\/ul><\/li><li><a href=\"#Adim_6_Veri_Saklama_ve_Kalici_Hacimler_Volumes\"><span class=\"toc_number toc_depth_1\">9<\/span> Ad\u0131m 6: Veri Saklama ve Kal\u0131c\u0131 Hacimler (Volumes)<\/a><ul><li><a href=\"#Basit_Volume_Ornegi\"><span class=\"toc_number toc_depth_2\">9.1<\/span> Basit Volume \u00d6rne\u011fi<\/a><\/li><li><a href=\"#Compose_ile_Volume_Kullanimi\"><span class=\"toc_number toc_depth_2\">9.2<\/span> Compose ile Volume Kullan\u0131m\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#Adim_7_Guvenlik_Izole_Uygulama_Barindirmanin_Temel_Kurallari\"><span class=\"toc_number toc_depth_1\">10<\/span> Ad\u0131m 7: G\u00fcvenlik \u2013 \u0130zole Uygulama Bar\u0131nd\u0131rman\u0131n Temel Kurallar\u0131<\/a><ul><li><a href=\"#1_VPS_Guvenlik_Duvarini_Dogru_Yapilandirin\"><span class=\"toc_number toc_depth_2\">10.1<\/span> 1. VPS G\u00fcvenlik Duvar\u0131n\u0131 Do\u011fru Yap\u0131land\u0131r\u0131n<\/a><\/li><li><a href=\"#2_Root_Olarak_Calisan_Konteynerlerden_Kacinin\"><span class=\"toc_number toc_depth_2\">10.2<\/span> 2. Root Olarak \u00c7al\u0131\u015fan Konteynerlerden Ka\u00e7\u0131n\u0131n<\/a><\/li><li><a href=\"#3_Ortam_Degiskenleri_ve_Secrets_Yonetimi\"><span class=\"toc_number toc_depth_2\">10.3<\/span> 3. Ortam De\u011fi\u015fkenleri ve Secrets Y\u00f6netimi<\/a><\/li><li><a href=\"#4_Host_Tarafi_Guvenligi_Ihmal_Etmeyin\"><span class=\"toc_number toc_depth_2\">10.4<\/span> 4. Host Taraf\u0131 G\u00fcvenli\u011fi \u0130hmal Etmeyin<\/a><\/li><\/ul><\/li><li><a href=\"#Adim_8_Izleme_Loglar_ve_Sorun_Giderme\"><span class=\"toc_number toc_depth_1\">11<\/span> Ad\u0131m 8: \u0130zleme, Loglar ve Sorun Giderme<\/a><\/li><li><a href=\"#Adim_9_Yedekleme_ve_Guncelleme_Stratejisi\"><span class=\"toc_number toc_depth_1\">12<\/span> Ad\u0131m 9: Yedekleme ve G\u00fcncelleme Stratejisi<\/a><ul><li><a href=\"#Yedekleme\"><span class=\"toc_number toc_depth_2\">12.1<\/span> Yedekleme<\/a><\/li><li><a href=\"#Guncellemeler\"><span class=\"toc_number toc_depth_2\">12.2<\/span> G\u00fcncellemeler<\/a><\/li><\/ul><\/li><li><a href=\"#Tipik_Senaryo_Tek_VPSte_Birden_Fazla_Uygulamayi_Izole_Etmek\"><span class=\"toc_number toc_depth_1\">13<\/span> Tipik Senaryo: Tek VPS\u2019te Birden Fazla Uygulamay\u0131 \u0130zole Etmek<\/a><\/li><li><a href=\"#Sonuc_Docker_VPS_Kombinasyonuyla_Esnek_ve_Izole_Bir_Platform_Kurmak\"><span class=\"toc_number toc_depth_1\">14<\/span> Sonu\u00e7: Docker + VPS Kombinasyonuyla Esnek ve \u0130zole Bir Platform Kurmak<\/a><\/li><\/ul><\/div>\n<h2><span id=\"Docker_ile_VPSte_Izole_Uygulama_Barindirma_Neden_Onemli\">Docker ile <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a>\u2019te \u0130zole Uygulama Bar\u0131nd\u0131rma Neden \u00d6nemli?<\/span><\/h2>\n<p>Bir web uygulamas\u0131n\u0131 ya da k\u00fc\u00e7\u00fck bir SaaS projesini canl\u0131ya al\u0131rken en s\u0131k kar\u015f\u0131la\u015f\u0131lan sorulardan biri \u015fudur: &#8220;Ayn\u0131 VPS \u00fczerinde birden fazla uygulamay\u0131 nas\u0131l g\u00fcvenli ve birbirinden izole \u015fekilde \u00e7al\u0131\u015ft\u0131r\u0131r\u0131m?&#8221; Klasik yakla\u015f\u0131m; her proje i\u00e7in ayr\u0131 kullan\u0131c\u0131, ayr\u0131 dizin, ayr\u0131 port, elle servis kurulumlar\u0131 ve bolca konfig\u00fcrasyon dosyas\u0131 ile u\u011fra\u015fmakt\u0131r. Birka\u00e7 uygulamaya kadar bu y\u00f6ntem idare edebilir; ancak g\u00fcncelleme, rollback, ba\u011f\u0131ml\u0131l\u0131k \u00e7at\u0131\u015fmalar\u0131 ve g\u00fcvenlik taraf\u0131nda i\u015fler h\u0131zla kar\u0131\u015f\u0131r.<\/p>\n<p>Tam da bu noktada Docker devreye giriyor. Konteyner yakla\u015f\u0131m\u0131yla, her uygulamay\u0131 kendi k\u00fc\u00e7\u00fck &#8220;d\u00fcnyas\u0131&#8221; i\u00e7inde, izole ve tekrarlanabilir \u015fekilde \u00e7al\u0131\u015ft\u0131rabiliyorsunuz. Tek VPS \u00fczerinde Node.js API, PHP\/Laravel, Redis, PostgreSQL, hatta admin panellerinizi bile ayr\u0131 konteynerlerde, kontroll\u00fc a\u011f ve disk politikalar\u0131yla y\u00f6netmek m\u00fcmk\u00fcn. DCHost \u00fczerinde kulland\u0131\u011f\u0131n\u0131z g\u00fc\u00e7l\u00fc VPS altyap\u0131s\u0131n\u0131, Docker ile \u00e7ok kirac\u0131l\u0131 bir platforma d\u00f6n\u00fc\u015ft\u00fcrebiliyorsunuz. Bu rehberde; s\u0131f\u0131rdan bir VPS \u00fczerinde Docker kurulumunu, temel komutlar\u0131, basit bir uygulamay\u0131 konteynerle\u015ftirmeyi, veri saklama, g\u00fcvenlik ve izleme ad\u0131mlar\u0131n\u0131 ad\u0131m ad\u0131m ve yeni ba\u015flayanlar\u0131n rahatl\u0131kla takip edebilece\u011fi bir dille anlataca\u011f\u0131z.<\/p>\n<h2><span id=\"Temel_Kavramlar_VPS_Konteyner_ve_Docker_Iliskisi\">Temel Kavramlar: VPS, Konteyner ve Docker \u0130li\u015fkisi<\/span><\/h2>\n<p>\u00d6nce mimariyi netle\u015ftirelim. Elinizde DCHost \u00fczerinden ald\u0131\u011f\u0131n\u0131z bir <strong>VPS<\/strong> oldu\u011funu d\u00fc\u015f\u00fcn\u00fcn. Bu VPS, sanalla\u015ft\u0131rma (KVM gibi) kullanarak size ayr\u0131lm\u0131\u015f CPU, RAM ve disk kaynaklar\u0131 sa\u011flayan bir sanal sunucudur. VPS\u2019in i\u00e7inde istedi\u011finiz Linux da\u011f\u0131t\u0131m\u0131n\u0131 (Ubuntu, Debian, AlmaLinux vb.) kullanabilir, root yetkisiyle tam kontrol sahibi olursunuz.<\/p>\n<p><strong>Konteyner<\/strong> ise sanalla\u015ft\u0131rma katman\u0131nda de\u011fil, i\u015fletim sistemi seviyesinde \u00e7al\u0131\u015fan daha hafif izolasyon birimleridir. Her konteyner kendi dosya sistemi, a\u011f aray\u00fcz\u00fc ve s\u00fcre\u00e7 alan\u0131na sahip olur; ancak \u00e7ekirde\u011fi (kernel) di\u011fer konteynerlerle payla\u015f\u0131r. Bu sayede:<\/p>\n<ul>\n<li>VM\u2019lere g\u00f6re \u00e7ok daha hafif ve h\u0131zl\u0131 ba\u015flarlar,<\/li>\n<li>Kaynak kullan\u0131m\u0131 daha verimlidir,<\/li>\n<li>&#8220;Ayn\u0131 benim makinemde \u00e7al\u0131\u015f\u0131yordu&#8221; sorununu azaltacak \u015fekilde tekrarlanabilir ortam sunarlar.<\/li>\n<\/ul>\n<p><strong>Docker<\/strong>, bu konteynerleri olu\u015fturmay\u0131, \u00e7al\u0131\u015ft\u0131rmay\u0131 ve y\u00f6netmeyi kolayla\u015ft\u0131ran bir platformdur. Docker imajlar\u0131 sayesinde uygulaman\u0131z\u0131n kodunu, ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 ve \u00e7al\u0131\u015fma ortam\u0131n\u0131 tek bir paket olarak tan\u0131mlars\u0131n\u0131z. VPS + Docker birle\u015fimi, k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli projeler i\u00e7in hem ekonomik hem de y\u00f6netilebilir bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<h2><span id=\"Docker_ile_VPSte_Izole_Uygulama_Barindirmanin_Avantajlari\">Docker ile VPS\u2019te \u0130zole Uygulama Bar\u0131nd\u0131rman\u0131n Avantajlar\u0131<\/span><\/h2>\n<p>DCHost \u00fczerinde Docker kullanan m\u00fc\u015fterilerde pratikte en \u00e7ok faydas\u0131n\u0131 g\u00f6rd\u00fc\u011f\u00fcm\u00fcz noktalar \u015funlar:<\/p>\n<ul>\n<li><strong>\u0130zolasyon:<\/strong> Her uygulama kendi konteynerinde; ba\u011f\u0131ml\u0131l\u0131klar, portlar ve ortam de\u011fi\u015fkenleri kar\u0131\u015fm\u0131yor.<\/li>\n<li><strong>Kolay geri alma (rollback):<\/strong> Yeni imajla bir \u015feyler bozulursa, eski imaja d\u00f6nmek genellikle tek komut.<\/li>\n<li><strong>Tekrarlanabilir kurulum:<\/strong> Yeni bir DCHost VPS\u2019e ge\u00e7erken, ayn\u0131 Docker Compose dosyas\u0131yla ortam\u0131 birka\u00e7 dakikada aya\u011fa kald\u0131rabiliyorsunuz.<\/li>\n<li><strong>Basitle\u015ftirilmi\u015f g\u00fcncellemeler:<\/strong> Uygulama versiyonunu imaj etiketiyle (<code>myapp:1.2.0<\/code> gibi) y\u00f6netmek olduk\u00e7a temiz bir ak\u0131\u015f sa\u011flar.<\/li>\n<li><strong>Kaynak y\u00f6netimi:<\/strong> Docker ile CPU ve bellek limitleri koyarak, bir konteynerin t\u00fcm VPS\u2019i \u00e7\u00f6kertmesini \u00f6nleyebilirsiniz.<\/li>\n<\/ul>\n<p>VPS taraf\u0131nda kaynak planlama konusunda daha derinlemesine okumak isterseniz, <a href=\"https:\/\/www.dchost.com\/blog\/woocommerce-laravel-ve-node-jsde-dogru-vps-kaynaklarini-nasil-secersin-cpu-ram-nvme-ve-bant-genisligi-rehberi\/\">CPU, RAM ve disk kaynaklar\u0131n\u0131 do\u011fru se\u00e7me rehberimize<\/a> de g\u00f6z atabilirsiniz.<\/p>\n<h2><span id=\"Adim_1_Dogru_VPS_ve_Linux_Dagitimini_Secmek\">Ad\u0131m 1: Do\u011fru VPS ve Linux Da\u011f\u0131t\u0131m\u0131n\u0131 Se\u00e7mek<\/span><\/h2>\n<p>Docker neredeyse t\u00fcm modern Linux da\u011f\u0131t\u0131mlar\u0131nda \u00e7al\u0131\u015f\u0131r; ancak dok\u00fcmantasyon ve topluluk deste\u011fi d\u00fc\u015f\u00fcn\u00fcld\u00fc\u011f\u00fcnde a\u015fa\u011f\u0131daki se\u00e7imler yeni ba\u015flayanlar i\u00e7in hayat\u0131 kolayla\u015ft\u0131r\u0131r:<\/p>\n<ul>\n<li><strong>Ubuntu LTS (20.04 \/ 22.04):<\/strong> Docker dok\u00fcmantasyonunda en iyi anlat\u0131lan se\u00e7eneklerden.<\/li>\n<li><strong>Debian:<\/strong> Minimal ve stabil bir ortam isteyenler i\u00e7in iyi bir tercih.<\/li>\n<li><strong>AlmaLinux \/ Rocky Linux:<\/strong> CentOS sonras\u0131 RHEL uyumlu d\u00fcnyada pop\u00fcler alternatifler.<\/li>\n<\/ul>\n<p>DCHost \u00fczerinde VPS olu\u015ftururken Docker kullanaca\u011f\u0131n\u0131z\u0131 biliyorsan\u0131z, genellikle <strong>Ubuntu LTS<\/strong> se\u00e7mek operasyonel a\u00e7\u0131dan daha rahatt\u0131r. Ayr\u0131ca yeni bir VPS ald\u0131ysan\u0131z, sunucunuzu Docker kurmadan \u00f6nce mutlaka temel g\u00fcvenlik ve g\u00fcncelleme ad\u0131mlar\u0131ndan ge\u00e7irin. Bu konuda detayl\u0131 bir ad\u0131m listesine ihtiya\u00e7 duyuyorsan\u0131z, <a href=\"https:\/\/www.dchost.com\/blog\/yeni-vpste-ilk-24-saat-guncelleme-guvenlik-duvari-ve-kullanici-hesaplari\/\">yeni VPS\u2019te ilk 24 saatte yap\u0131lmas\u0131 gerekenler rehberimizi<\/a> takip edebilirsiniz.<\/p>\n<h2><span id=\"Adim_2_VPS_Uzerinde_Docker_Kurulumu\">Ad\u0131m 2: VPS \u00dczerinde Docker Kurulumu<\/span><\/h2>\n<h3><span id=\"Ubuntu_Debian_Uzerinde_Docker_Kurulumu\">Ubuntu \/ Debian \u00dczerinde Docker Kurulumu<\/span><\/h3>\n<p>A\u015fa\u011f\u0131daki ad\u0131mlar, resmi Docker deposunu kullanarak g\u00fcncel s\u00fcr\u00fcm\u00fc kurar:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo apt update\nsudo apt install -y ca-certificates curl gnupg lsb-release\n\n# Docker GPG anahtar\u0131n\u0131 ekleyin\ncurl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/usr\/share\/keyrings\/docker.gpg\n\necho &quot;deb [arch=$(dpkg --print-architecture) \n  signed-by=\/usr\/share\/keyrings\/docker.gpg] \n  https:\/\/download.docker.com\/linux\/ubuntu $(lsb_release -cs) stable&quot; | \n  sudo tee \/etc\/apt\/sources.list.d\/docker.list &gt; \/dev\/null\n\nsudo apt update\nsudo apt install -y docker-ce docker-ce-cli containerd.io\n\n# Docker servisinin durumunu kontrol edin\nsudo systemctl status docker\n<\/code><\/pre>\n<p>Ek olarak <code>docker<\/code> komutlar\u0131n\u0131 her seferinde <code>sudo<\/code> ile yazmamak i\u00e7in, kendi kullan\u0131c\u0131n\u0131z\u0131 <code>docker<\/code> grubuna ekleyebilirsiniz:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo usermod -aG docker $USER\n# Oturumu kapat\u0131p tekrar a\u00e7\u0131n veya SSH ba\u011flant\u0131n\u0131z\u0131 yenileyin\n<\/code><\/pre>\n<h3><span id=\"Docker_Compose_Kurulumu\">Docker Compose Kurulumu<\/span><\/h3>\n<p>Ger\u00e7ek projelerde \u00e7o\u011funlukla birden fazla konteyneri birlikte y\u00f6netmeniz gerekir (web + veritaban\u0131 + cache gibi). Bunun i\u00e7in en pratik ara\u00e7 <strong>Docker Compose<\/strong>\u2019tur. Modern Docker s\u00fcr\u00fcmlerinde genellikle <code>docker compose<\/code> komutu do\u011frudan gelir; yoksa klasik binary\u2019yi \u015fu \u015fekilde kurabilirsiniz:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo curl -L  \n  https:\/\/github.com\/docker\/compose\/releases\/download\/v2.24.0\/docker-compose-$(uname -s)-$(uname -m) \n  -o \/usr\/local\/bin\/docker-compose\n\nsudo chmod +x \/usr\/local\/bin\/docker-compose\n\ndocker-compose --version\n<\/code><\/pre>\n<p>Art\u0131k tek bir <code>docker-compose.yml<\/code> dosyas\u0131yla \u00e7oklu servisi y\u00f6netebilecek durumdas\u0131n\u0131z.<\/p>\n<h2><span id=\"Adim_3_Ilk_Konteynerinizi_Calistirmak\">Ad\u0131m 3: \u0130lk Konteynerinizi \u00c7al\u0131\u015ft\u0131rmak<\/span><\/h2>\n<p>Docker kurulumunun sa\u011fl\u0131kl\u0131 oldu\u011funu do\u011frulaman\u0131n en basit yolu, k\u00fc\u00e7\u00fck bir test konteyneri \u00e7al\u0131\u015ft\u0131rmakt\u0131r:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">docker run --rm hello-world<\/code><\/pre>\n<p>Bu komut, test imaj\u0131n\u0131 indirip k\u0131sa bir bilgi mesaj\u0131 yazd\u0131rarak konteyneri sonland\u0131r\u0131r. Ard\u0131ndan ufak bir web servisi deneyebiliriz. \u00d6rne\u011fin Nginx:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">docker run -d --name my-nginx -p 8080:80 nginx:alpine<\/code><\/pre>\n<p>Bu komut:<\/p>\n<ul>\n<li><code>-d<\/code>: Arka planda (detached) \u00e7al\u0131\u015ft\u0131r\u0131r,<\/li>\n<li><code>--name my-nginx<\/code>: Konteynere bir isim verir,<\/li>\n<li><code>-p 8080:80<\/code>: VPS\u2019iniz \u00fczerindeki 8080 portunu konteynerin i\u00e7indeki 80 portuna y\u00f6nlendirir.<\/li>\n<\/ul>\n<p>Taray\u0131c\u0131n\u0131zdan <code>http:\/\/sunucu-ip-adresiniz:8080<\/code> adresine gitti\u011finizde Nginx varsay\u0131lan sayfas\u0131n\u0131 g\u00f6r\u00fcyorsan\u0131z, Docker ba\u015far\u0131l\u0131 \u015fekilde \u00e7al\u0131\u015f\u0131yor demektir.<\/p>\n<h3><span id=\"Temel_Docker_Komutlarina_Kisa_Bakis\">Temel Docker Komutlar\u0131na K\u0131sa Bak\u0131\u015f<\/span><\/h3>\n<ul>\n<li><code>docker ps<\/code>: \u00c7al\u0131\u015fan konteynerleri listeler.<\/li>\n<li><code>docker ps -a<\/code>: Duranlar dahil t\u00fcm konteynerleri listeler.<\/li>\n<li><code>docker logs konteyner_adi<\/code>: Loglar\u0131 g\u00f6sterir.<\/li>\n<li><code>docker stop konteyner_adi<\/code>: Konteyneri durdurur.<\/li>\n<li><code>docker rm konteyner_adi<\/code>: Duran konteyneri siler.<\/li>\n<li><code>docker images<\/code>: \u0130ndirilmi\u015f imajlar\u0131 listeler.<\/li>\n<li><code>docker rmi imaj_adi<\/code>: Belirtilen imaj\u0131 siler.<\/li>\n<\/ul>\n<h2><span id=\"Adim_4_Basit_Bir_Uygulamayi_Konteynerlestirmek\">Ad\u0131m 4: Basit Bir Uygulamay\u0131 Konteynerle\u015ftirmek<\/span><\/h2>\n<p>\u015eimdi ger\u00e7ek hayata daha yak\u0131n bir \u00f6rnek yapal\u0131m. Diyelim ki basit bir Node.js API\u2019niz var ve bunu DCHost VPS\u2019inizde Docker ile izole etmek istiyorsunuz.<\/p>\n<h3><span id=\"Ornek_Proje_Yapisi\">\u00d6rnek Proje Yap\u0131s\u0131<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">myapp\/\n \u251c\u2500 package.json\n \u251c\u2500 server.js\n \u2514\u2500 Dockerfile\n<\/code><\/pre>\n<p><code>server.js<\/code> i\u00e7inde \u00e7ok basit bir HTTP sunucu olsun:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">const http = require('http');\n\nconst server = http.createServer((req, res) =&gt; {\n  res.writeHead(200, { 'Content-Type': 'application\/json' });\n  res.end(JSON.stringify({ status: 'ok', message: 'Docker VPS deneme' }));\n});\n\nconst PORT = process.env.PORT || 3000;\nserver.listen(PORT, () =&gt; console.log(`Server ${PORT} portunda \u00e7al\u0131\u015f\u0131yor`));\n<\/code><\/pre>\n<h3><span id=\"Dockerfile_Yazmak\">Dockerfile Yazmak<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">FROM node:18-alpine\n\nWORKDIR \/usr\/src\/app\n\nCOPY package*.json .\/\nRUN npm install --only=production\n\nCOPY . .\n\nENV PORT=3000\nEXPOSE 3000\n\nCMD [&quot;node&quot;, &quot;server.js&quot;]\n<\/code><\/pre>\n<p>Ard\u0131ndan imaj\u0131 olu\u015fturup konteyneri \u00e7al\u0131\u015ft\u0131r\u0131yoruz:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">cd myapp\n\ndocker build -t myapp:1.0 .\n\ndocker run -d --name myapp-container -p 3000:3000 myapp:1.0\n<\/code><\/pre>\n<p>Art\u0131k <code>http:\/\/sunucu-ip-adresiniz:3000<\/code> \u00fczerinden API\u2019nizi izole bir konteynerde eri\u015filebilir hale getirdiniz. Ayn\u0131 VPS \u00fczerinde ba\u015fka uygulamalar da benzer \u015fekilde kendi konteynerleri i\u00e7inde \u00e7al\u0131\u015fabilir.<\/p>\n<h2><span id=\"Adim_5_Docker_Compose_ile_Coklu_Servisi_Yonetmek\">Ad\u0131m 5: Docker Compose ile \u00c7oklu Servisi Y\u00f6netmek<\/span><\/h2>\n<p>Ger\u00e7ek projelerde tek konteyner nadiren yeterli olur. Genellikle \u015fu bile\u015fenlere ihtiyac\u0131n\u0131z olur:<\/p>\n<ul>\n<li>Uygulama sunucusu (Node.js, PHP-FPM, Python vb.)<\/li>\n<li>Veritaban\u0131 (MySQL\/MariaDB, PostgreSQL)<\/li>\n<li>\u00d6nbellek (Redis, Memcached)<\/li>\n<li>Reverse proxy (Nginx\/Caddy) ve SSL sonland\u0131rma<\/li>\n<\/ul>\n<p>Bunlar\u0131n hepsini tek bir <code>docker-compose.yml<\/code> dosyas\u0131yla y\u00f6netmek, konfig\u00fcrasyonu versiyon kontrol\u00fcne almak ve yeni bir DCHost VPS \u00fczerinde ayn\u0131 mimariyi dakikalar i\u00e7inde kurmak i\u00e7in idealdir.<\/p>\n<h3><span id=\"Ornek_docker-composeyml\">\u00d6rnek docker-compose.yml<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">version: '3.8'\n\nservices:\n  app:\n    build: .\/myapp\n    container_name: myapp\n    restart: unless-stopped\n    environment:\n      - NODE_ENV=production\n      - PORT=3000\n    networks:\n      - internal\n\n  nginx:\n    image: nginx:alpine\n    container_name: my-nginx\n    ports:\n      - &quot;80:80&quot;\n    volumes:\n      - .\/nginx.conf:\/etc\/nginx\/nginx.conf:ro\n    depends_on:\n      - app\n    networks:\n      - internal\n\nnetworks:\n  internal:\n    driver: bridge\n<\/code><\/pre>\n<p>Bu senaryoda:<\/p>\n<ul>\n<li><code>app<\/code> servisi, biraz \u00f6nce yazd\u0131\u011f\u0131m\u0131z Node.js uygulamas\u0131n\u0131 temsil ediyor.<\/li>\n<li><code>nginx<\/code> konteyneri, <code>app<\/code>\u2019e reverse proxy yap\u0131yor ve d\u0131\u015f d\u00fcnyaya sadece 80 portu a\u00e7\u0131l\u0131yor.<\/li>\n<li>\u0130kisi de ayn\u0131 <code>internal<\/code> Docker a\u011f\u0131 \u00fczerinde konu\u015fuyor, b\u00f6ylece uygulaman\u0131z d\u0131\u015far\u0131ya gereksiz portlar a\u00e7mam\u0131\u015f oluyor.<\/li>\n<\/ul>\n<p>Bu tarz \u00e7oklu servis kurulumlar\u0131n\u0131 WordPress i\u00e7in de kullanmak istiyorsan\u0131z, hem Compose hem de kal\u0131c\u0131 depolama taraf\u0131n\u0131 detayl\u0131 anlatt\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/docker-compose-ile-wordpress-nginx-mariadb-redis-nasil-tatli-tatli-akiyor-kalici-hacimler-otomatik-yedek-ve-guncelleme-akisi\/\">Docker Compose ile WordPress + Nginx + MariaDB + Redis rehberimize<\/a> g\u00f6z atman\u0131z faydal\u0131 olacakt\u0131r.<\/p>\n<h2><span id=\"Adim_6_Veri_Saklama_ve_Kalici_Hacimler_Volumes\">Ad\u0131m 6: Veri Saklama ve Kal\u0131c\u0131 Hacimler (Volumes)<\/span><\/h2>\n<p>Konteynerler do\u011fas\u0131 gere\u011fi ge\u00e7icidir; silindi\u011finde i\u00e7indeki veri de kaybolur. Uygulama loglar\u0131, y\u00fcklenen dosyalar ve \u00f6zellikle veritaban\u0131 verileriniz i\u00e7in <strong>kal\u0131c\u0131 hacim<\/strong> (volume) kullanman\u0131z \u015fartt\u0131r.<\/p>\n<h3><span id=\"Basit_Volume_Ornegi\">Basit Volume \u00d6rne\u011fi<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">docker run -d \n  --name my-db \n  -e POSTGRES_PASSWORD=guclu_sifre \n  -v \/data\/postgres:\/var\/lib\/postgresql\/data \n  postgres:15\n<\/code><\/pre>\n<p>Burada <code>-v \/data\/postgres:\/var\/lib\/postgresql\/data<\/code> ifadesi, VPS \u00fczerindeki <code>\/data\/postgres<\/code> dizinini konteyner i\u00e7indeki veritaban\u0131 veri dizinine ba\u011flar. Konteyner silinse bile, veriler VPS diskinde kal\u0131r.<\/p>\n<h3><span id=\"Compose_ile_Volume_Kullanimi\">Compose ile Volume Kullan\u0131m\u0131<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">services:\n  db:\n    image: postgres:15\n    environment:\n      - POSTGRES_PASSWORD=guclu_sifre\n    volumes:\n      - db_data:\/var\/lib\/postgresql\/data\n\nvolumes:\n  db_data:\n<\/code><\/pre>\n<p>Bu yakla\u015f\u0131mda Docker, <code>db_data<\/code> ad\u0131nda y\u00f6netilen bir volume olu\u015fturur. \u00dcretim ortamlar\u0131nda, bu volume\u2019lerin DCHost altyap\u0131s\u0131nda ek diskler veya yedekleme politikan\u0131zla uyumlu konumlarda tutulmas\u0131na dikkat etmelisiniz. MySQL\/PostgreSQL yedekleme stratejilerini daha ayr\u0131nt\u0131l\u0131 planlamak i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/mysql-mariadb-yedekleme-stratejileri-mysqldump-mi-xtrabackup-mi-ve-point%e2%80%91in%e2%80%91time-recovery-ne-zaman\/\">MySQL\/MariaDB yedekleme rehberimize<\/a> de mutlaka g\u00f6z at\u0131n.<\/p>\n<h2><span id=\"Adim_7_Guvenlik_Izole_Uygulama_Barindirmanin_Temel_Kurallari\">Ad\u0131m 7: G\u00fcvenlik \u2013 \u0130zole Uygulama Bar\u0131nd\u0131rman\u0131n Temel Kurallar\u0131<\/span><\/h2>\n<p>Docker ile izolasyon kazan\u0131yorsunuz; ancak bu, g\u00fcvenli\u011fin tamamen otomatik sa\u011fland\u0131\u011f\u0131 anlam\u0131na gelmiyor. A\u015fa\u011f\u0131daki ba\u015fl\u0131klar, DCHost \u00fczerinde Docker kullanan m\u00fc\u015fterilerde en \u00e7ok \u00f6nerdi\u011fimiz pratiklerdir.<\/p>\n<h3><span id=\"1_VPS_Guvenlik_Duvarini_Dogru_Yapilandirin\">1. VPS G\u00fcvenlik Duvar\u0131n\u0131 Do\u011fru Yap\u0131land\u0131r\u0131n<\/span><\/h3>\n<p>D\u0131\u015f d\u00fcnyaya a\u00e7man\u0131z gereken portlar genellikle sadece \u015funlard\u0131r:<\/p>\n<ul>\n<li>80 (HTTP) ve 443 (HTTPS)<\/li>\n<li>22 (SSH) \u2013 m\u00fcmk\u00fcnse IP k\u0131s\u0131tlamas\u0131 ve anahtar bazl\u0131 kimlik do\u011frulama ile<\/li>\n<\/ul>\n<p>Docker konteynerleriniz i\u00e7 a\u011fda (<code>bridge<\/code> network) \u00e7al\u0131\u015f\u0131rken, yaln\u0131zca reverse proxy konteynerinin kulland\u0131\u011f\u0131 portu d\u0131\u015far\u0131 a\u00e7man\u0131z yeterli. UFW veya nftables ile g\u00fcvenlik duvar\u0131 kurarken, temel kurallar\u0131 <a href=\"https:\/\/www.dchost.com\/blog\/vps-sunucularda-guvenlik-duvari-yapilandirma-ufw-firewalld-ve-iptables\/\">VPS g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rma rehberimizde<\/a> bulabilirsiniz.<\/p>\n<h3><span id=\"2_Root_Olarak_Calisan_Konteynerlerden_Kacinin\">2. Root Olarak \u00c7al\u0131\u015fan Konteynerlerden Ka\u00e7\u0131n\u0131n<\/span><\/h3>\n<p>Pek \u00e7ok haz\u0131r Docker imaj\u0131 varsay\u0131lan olarak root kullan\u0131c\u0131 ile gelir. M\u00fcmk\u00fcn oldu\u011funda:<\/p>\n<ul>\n<li>\u0130maj i\u00e7inde ayr\u0131 bir kullan\u0131c\u0131 olu\u015fturun (\u00f6rne\u011fin <code>RUN adduser -D appuser<\/code>),<\/li>\n<li><code>USER appuser<\/code> ile uygulamay\u0131 bu kullan\u0131c\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131n,<\/li>\n<li>Yazma izinlerini sadece gereken dizinlere verin.<\/li>\n<\/ul>\n<h3><span id=\"3_Ortam_Degiskenleri_ve_Secrets_Yonetimi\">3. Ortam De\u011fi\u015fkenleri ve Secrets Y\u00f6netimi<\/span><\/h3>\n<p>Veritaban\u0131 \u015fifreleri, API anahtarlar\u0131 gibi hassas bilgileri <code>docker-compose.yml<\/code> dosyas\u0131nda d\u00fcz metin olarak tutmak risklidir. En az\u0131ndan:<\/p>\n<ul>\n<li>Ortam de\u011fi\u015fkenlerini <code>.env<\/code> dosyalar\u0131na ta\u015f\u0131y\u0131n ve bu dosyalar\u0131 versiyon kontrol d\u0131\u015f\u0131nda b\u0131rak\u0131n.<\/li>\n<li>M\u00fcmk\u00fcnse \u015fifreleri Docker secrets, sops + age gibi ara\u00e7larla \u015fifreli halde y\u00f6netin.<\/li>\n<\/ul>\n<p>VPS \u00fczerinde secrets y\u00f6netimini daha ileri seviyeye ta\u015f\u0131mak isterseniz, <a href=\"https:\/\/www.dchost.com\/blog\/vpste-secrets-yonetimi-nasil-tatli-tatli-cozulur-sops-age-gitops-akisi-systemd-ve-rotasyon\/\">VPS\u2019te secrets y\u00f6netimi rehberimizde<\/a> pratik bir yol haritas\u0131 bulabilirsiniz.<\/p>\n<h3><span id=\"4_Host_Tarafi_Guvenligi_Ihmal_Etmeyin\">4. Host Taraf\u0131 G\u00fcvenli\u011fi \u0130hmal Etmeyin<\/span><\/h3>\n<p>Docker ne kadar izole olursa olsun, alt\u0131nda \u00e7al\u0131\u015fan VPS\u2019in g\u00fcvenli\u011fi zay\u0131fsa sald\u0131rganlar konteynerlerden host\u2019a s\u0131\u00e7rayabilir. \u015eu ba\u015fl\u0131klar\u0131 mutlaka ele al\u0131n:<\/p>\n<ul>\n<li>SSH anahtar y\u00f6netimi ve parola ile giri\u015fleri kapatmak,<\/li>\n<li>Fail2ban veya benzeri ara\u00e7larla brute-force sald\u0131r\u0131lar\u0131n\u0131 engellemek,<\/li>\n<li>G\u00fcncel kernel ve g\u00fcvenlik yamalar\u0131,<\/li>\n<li>Gereksiz servislerin kapat\u0131lmas\u0131.<\/li>\n<\/ul>\n<p>Bu konular\u0131 daha b\u00fct\u00fcnc\u00fcl g\u00f6rmek isterseniz, <a href=\"https:\/\/www.dchost.com\/blog\/vps-sunucu-guvenligi-nasil-saglanir-kapiyi-acik-birakmadan-yasamanin-sirri\/\">VPS sunucu g\u00fcvenli\u011fi rehberimizi<\/a> ba\u015ftan sona okuman\u0131z\u0131 \u00f6neririm.<\/p>\n<h2><span id=\"Adim_8_Izleme_Loglar_ve_Sorun_Giderme\">Ad\u0131m 8: \u0130zleme, Loglar ve Sorun Giderme<\/span><\/h2>\n<p>Bir uygulamay\u0131 konteynerle\u015ftirdikten sonra, i\u015fin \u00f6nemli k\u0131sm\u0131 ba\u015flar: <strong>izlemek ve sorun \u00e7\u0131kt\u0131\u011f\u0131nda h\u0131zl\u0131 te\u015fhis etmek<\/strong>. Docker taraf\u0131nda temel log ve metriklere eri\u015fmek i\u00e7in:<\/p>\n<ul>\n<li><code>docker logs myapp<\/code> ile konteyner loglar\u0131n\u0131 takip edebilirsiniz,<\/li>\n<li><code>docker stats<\/code> ile canl\u0131 CPU, RAM ve IO kullan\u0131m\u0131n\u0131 g\u00f6rebilirsiniz.<\/li>\n<\/ul>\n<p>Daha kurumsal bir yakla\u015f\u0131m i\u00e7in; host seviyesinde Prometheus + Node Exporter, uygulama loglar\u0131 i\u00e7in Loki + Promtail, grafikler i\u00e7in Grafana kombinasyonu olduk\u00e7a g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcmd\u00fcr. Bu mimariyi daha \u00f6nce ayr\u0131nt\u0131l\u0131 olarak anlatt\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/vps-izleme-ve-alarm-kurulumu-prometheus-grafana-ve-uptime-kuma-ile-baslangic\/\">VPS izleme ve alarm kurulum rehberimiz<\/a>, Docker kullansan\u0131z da kullanmasan\u0131z da i\u015finize yarayacakt\u0131r.<\/p>\n<h2><span id=\"Adim_9_Yedekleme_ve_Guncelleme_Stratejisi\">Ad\u0131m 9: Yedekleme ve G\u00fcncelleme Stratejisi<\/span><\/h2>\n<p>Docker ile VPS\u2019te izole bar\u0131nd\u0131rma kurulduktan sonra, s\u00fcrd\u00fcr\u00fclebilirlik i\u00e7in iki kritik alana odaklanmal\u0131s\u0131n\u0131z: <strong>yedekler<\/strong> ve <strong>g\u00fcncellemeler<\/strong>.<\/p>\n<h3><span id=\"Yedekleme\">Yedekleme<\/span><\/h3>\n<ul>\n<li>Uygulama kodu ve Docker Compose dosyalar\u0131n\u0131z\u0131 mutlaka bir Git deposunda saklay\u0131n.<\/li>\n<li>Veritaban\u0131 ve kal\u0131c\u0131 volume\u2019ler i\u00e7in d\u00fczenli yedekleme i\u015fleri (cron ile <code>mysqldump<\/code>, <code>pg_dump<\/code>, <code>restic<\/code> vb.) planlay\u0131n.<\/li>\n<li>Yedekleri DCHost altyap\u0131s\u0131nda farkl\u0131 bir VPS\u2019e veya S3 uyumlu object storage\u2019a kopyalay\u0131n.<\/li>\n<\/ul>\n<h3><span id=\"Guncellemeler\">G\u00fcncellemeler<\/span><\/h3>\n<ul>\n<li>Uygulama imajlar\u0131n\u0131z\u0131 <code>myapp:1.0<\/code>, <code>1.1<\/code> gibi versiyonlay\u0131n; her zaman direkt <code>latest<\/code> kullanmay\u0131n.<\/li>\n<li>G\u00fcncelleme \u00f6ncesi staging ortam\u0131nda yeni imaj\u0131 test edin.<\/li>\n<li>G\u00fcncelleme s\u0131ras\u0131nda <code>docker-compose pull &amp;&amp; docker-compose up -d<\/code> ile kontroll\u00fc ge\u00e7i\u015f yap\u0131n.<\/li>\n<\/ul>\n<p>WordPress gibi pop\u00fcler uygulamalar\u0131 Docker ile y\u00f6netirken yedek ve g\u00fcncelleme s\u00fcre\u00e7lerini nas\u0131l kurgulayaca\u011f\u0131n\u0131z\u0131 merak ediyorsan\u0131z, <a href=\"https:\/\/www.dchost.com\/blog\/docker-ile-wordpressi-vpste-nasil-yasatiriz-nginx-mariadb-redis-ve-lets-encrypt-ile-kalici-depolama-macerasi\/\">Docker ile WordPress\u2019i VPS\u2019te ya\u015fatma rehberimizde<\/a> u\u00e7tan uca bir senaryo bulabilirsiniz.<\/p>\n<h2><span id=\"Tipik_Senaryo_Tek_VPSte_Birden_Fazla_Uygulamayi_Izole_Etmek\">Tipik Senaryo: Tek VPS\u2019te Birden Fazla Uygulamay\u0131 \u0130zole Etmek<\/span><\/h2>\n<p>Somut bir \u00f6rnek \u00fczerinden toparlayal\u0131m. Diyelim ki DCHost \u00fczerinde a\u015fa\u011f\u0131daki i\u015fleri ayn\u0131 VPS\u2019te toplamak istiyorsunuz:<\/p>\n<ul>\n<li>Kurumsal web siteniz (PHP\/Laravel)<\/li>\n<li>Basit bir Node.js API<\/li>\n<li>Redis cache<\/li>\n<li>PostgreSQL veritaban\u0131<\/li>\n<\/ul>\n<p>Bunu a\u015fa\u011f\u0131daki gibi bir mimari ile y\u00f6netebilirsiniz:<\/p>\n<ul>\n<li>T\u00fcm uygulamalar i\u00e7in tek bir <code>docker-compose.yml<\/code> veya mant\u0131kl\u0131 servis gruplar\u0131na ayr\u0131lm\u0131\u015f birden fazla Compose dosyas\u0131,<\/li>\n<li>Harici d\u00fcnyaya sadece Nginx reverse proxy konteyneri (80\/443) a\u00e7\u0131l\u0131yor,<\/li>\n<li>Her uygulama kendi i\u00e7 a\u011f\u0131nda (<code>backend<\/code>, <code>frontend<\/code> gibi a\u011flar) izole,<\/li>\n<li>PostgreSQL ve Redis i\u00e7in kal\u0131c\u0131 volume\u2019ler ve d\u00fczenli yedekleme i\u015fleri,<\/li>\n<li>Uygulamalar aras\u0131 eri\u015fim sadece gereken port ve a\u011flar \u00fczerinden.<\/li>\n<\/ul>\n<p>B\u00f6ylece tek bir DCHost VPS\u2019inizi, hem maliyet etkin hem de y\u00f6netilebilir bir \u00e7oklu proje platformuna d\u00f6n\u00fc\u015ft\u00fcrm\u00fc\u015f olursunuz.<\/p>\n<h2><span id=\"Sonuc_Docker_VPS_Kombinasyonuyla_Esnek_ve_Izole_Bir_Platform_Kurmak\">Sonu\u00e7: Docker + VPS Kombinasyonuyla Esnek ve \u0130zole Bir Platform Kurmak<\/span><\/h2>\n<p>Docker ile VPS\u2019te izole uygulama bar\u0131nd\u0131rma; k\u00fc\u00e7\u00fck bir ajans\u0131n onlarca m\u00fc\u015fteri sitesini, bir SaaS giri\u015fiminin ilk versiyonlar\u0131n\u0131 veya bir \u015firketin i\u00e7 ara\u00e7lar\u0131n\u0131 tek bir altyap\u0131da d\u00fczenli \u015fekilde y\u00f6netebilmesi i\u00e7in son derece g\u00fc\u00e7l\u00fc bir model sunuyor. Her uygulaman\u0131n kendi konteynerinde \u00e7al\u0131\u015fmas\u0131; ba\u011f\u0131ml\u0131l\u0131k \u00e7at\u0131\u015fmalar\u0131n\u0131 azalt\u0131yor, g\u00fcncellemeleri \u00f6ng\u00f6r\u00fclebilir hale getiriyor ve g\u00fcvenlik taraf\u0131nda net s\u0131n\u0131rlar \u00e7izmenize yard\u0131mc\u0131 oluyor.<\/p>\n<p>Bu rehberde; DCHost \u00fczerinde bir VPS se\u00e7mekten Docker kurulumuna, ilk konteynerinizi aya\u011fa kald\u0131rmaktan Docker Compose ile \u00e7oklu servis y\u00f6netimine, kal\u0131c\u0131 hacimler, g\u00fcvenlik, izleme ve yedekleme stratejilerine kadar temel ad\u0131mlar\u0131 ad\u0131m ad\u0131m ele ald\u0131k. Bundan sonra ataca\u011f\u0131n\u0131z her ad\u0131m (CI\/CD entegrasyonu, staging ortamlar\u0131, canary da\u011f\u0131t\u0131mlar\u0131, merkezi loglama vb.) bu temel \u00fczerine in\u015fa edilecek.<\/p>\n<p>E\u011fer hen\u00fcz Docker i\u00e7in kullanaca\u011f\u0131n\u0131z bir VPS\u2019iniz yoksa, DCHost \u00fczerinde ihtiyac\u0131n\u0131za uygun CPU, RAM ve NVMe disk kombinasyonlar\u0131n\u0131 se\u00e7erek i\u015fe ba\u015flayabilirsiniz. Mevcut VPS\u2019inizde Docker\u2019a ge\u00e7mek ya da mevcut Docker mimarinizi DCHost altyap\u0131s\u0131na ta\u015f\u0131mak istiyorsan\u0131z, teknik ekibimiz de mimari planlama konusunda yan\u0131n\u0131zda olmaya haz\u0131r. K\u00fc\u00e7\u00fck ad\u0131mlarla ba\u015flay\u0131n, her ad\u0131m\u0131 dok\u00fcmante edin ve zamanla kendi konteyner ekosisteminizi g\u00fcvenle b\u00fcy\u00fct\u00fcn.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 Docker ile VPS\u2019te \u0130zole Uygulama Bar\u0131nd\u0131rma Neden \u00d6nemli?2 Temel Kavramlar: VPS, Konteyner ve Docker \u0130li\u015fkisi3 Docker ile VPS\u2019te \u0130zole Uygulama Bar\u0131nd\u0131rman\u0131n Avantajlar\u01314 Ad\u0131m 1: Do\u011fru VPS ve Linux Da\u011f\u0131t\u0131m\u0131n\u0131 Se\u00e7mek5 Ad\u0131m 2: VPS \u00dczerinde Docker Kurulumu5.1 Ubuntu \/ Debian \u00dczerinde Docker Kurulumu5.2 Docker Compose Kurulumu6 Ad\u0131m 3: \u0130lk Konteynerinizi \u00c7al\u0131\u015ft\u0131rmak6.1 Temel Docker Komutlar\u0131na K\u0131sa [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3641,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-3640","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3640","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=3640"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3640\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/3641"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=3640"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=3640"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=3640"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}