{"id":7692,"date":"2024-12-26T02:30:13","date_gmt":"2024-12-25T23:30:13","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/"},"modified":"2024-12-26T02:30:13","modified_gmt":"2024-12-25T23:30:13","slug":"uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/","title":{"rendered":"\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz"},"content":{"rendered":"<p><body><\/p>\n<p>\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz<\/p>\n<p>Merhaba! Fatih Soysal burada.  Bu makalede,  Docker&#8217;\u0131n sundu\u011fu olanaklar\u0131 kullanarak \u00fc\u00e7 katmanl\u0131 (sunucu, uygulama, veritaban\u0131) uygulamalar\u0131n\u0131z\u0131 nas\u0131l kapsay\u0131c\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m.  \u00d6ncelikle, \u00fc\u00e7 katmanl\u0131 mimarinin ne oldu\u011funu ve neden kapsay\u0131c\u0131la\u015ft\u0131rman\u0131n \u00f6nemli oldu\u011funu anlamakla ba\u015flayal\u0131m.<\/p>\n<h2>\u00dc\u00e7 Katmanl\u0131 Mimari ve Kapsay\u0131c\u0131la\u015ft\u0131rman\u0131n \u00d6nemi<\/h2>\n<p>\u00dc\u00e7 katmanl\u0131 mimari, bir uygulamay\u0131 \u00fc\u00e7 ba\u011f\u0131ms\u0131z katmana ay\u0131r\u0131r: sunucu katman\u0131 (\u00f6rne\u011fin, web sunucusu), uygulama katman\u0131 (i\u015f mant\u0131\u011f\u0131n\u0131 i\u00e7eren) ve veritaban\u0131 katman\u0131.  Bu ayr\u0131m, uygulaman\u0131n bak\u0131m\u0131n\u0131, \u00f6l\u00e7eklenebilirli\u011fini ve g\u00fcvenli\u011fini kolayla\u015ft\u0131r\u0131r.  Ancak, farkl\u0131 ortamlarda (geli\u015ftirme, test, \u00fcretim) bu katmanlar\u0131 tutarl\u0131 bir \u015fekilde \u00e7al\u0131\u015ft\u0131rmak zor olabilir.  \u0130\u015fte burada Docker devreye giriyor. Docker, uygulamalar\u0131n\u0131z\u0131 ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kapsay\u0131c\u0131lar i\u00e7inde paketleyerek, her katman\u0131 ba\u011f\u0131ms\u0131z ve tutarl\u0131 bir \u015fekilde \u00e7al\u0131\u015ft\u0131rman\u0131z\u0131 sa\u011flar.  Sonu\u00e7 olarak, geli\u015ftirme, test ve \u00fcretim ortamlar\u0131n\u0131z aras\u0131nda tutarl\u0131l\u0131k sa\u011flan\u0131r ve da\u011f\u0131t\u0131m s\u00fcre\u00e7leri b\u00fcy\u00fck \u00f6l\u00e7\u00fcde kolayla\u015f\u0131r.  Bu, geli\u015ftiricilerin  i\u015flerini daha verimli yapmalar\u0131na olanak tan\u0131r.<\/p>\n<h2>Ad\u0131m Ad\u0131m Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma<\/h2>\n<p>\u015eimdi, basit bir \u00fc\u00e7 katmanl\u0131 uygulamay\u0131 Docker kullanarak kapsay\u0131c\u0131la\u015ft\u0131rma s\u00fcrecini ad\u0131m ad\u0131m inceleyelim.  \u00d6rne\u011fimizde, Node.js ile yaz\u0131lm\u0131\u015f bir web uygulamas\u0131, Express.js \u00e7er\u00e7evesi ve PostgreSQL veritaban\u0131 kullanaca\u011f\u0131z.  \u00d6ncelikle, her katman i\u00e7in ayr\u0131 Dockerfile&#8217;lar olu\u015fturmam\u0131z gerekecek.<\/p>\n<h3>1. Web Sunucusu (Node.js):<\/h3>\n<p><code>Dockerfile<\/code> dosyas\u0131:<\/p>\n<pre><code class=\"language-dockerfile\">\nFROM node:16\n\nWORKDIR \/app\n\nCOPY package*.json .\/\n\nRUN npm install\n\nCOPY . .\n\nEXPOSE 3000\n\nCMD [ \"node\", \"index.js\" ]\n<\/code><\/pre>\n<p>Bu <code>Dockerfile<\/code>, Node.js tabanl\u0131 bir imaj olu\u015fturur, uygulamay\u0131 kopyalar, ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckler ve 3000 numaral\u0131 portu a\u00e7ar.<\/p>\n<h3>2. Uygulama Katman\u0131 (Express.js):<\/h3>\n<p>Bu ad\u0131mda, Node.js uygulaman\u0131z\u0131n kodunu yazman\u0131z gerekecek.  Uygulama, veritaban\u0131na ba\u011flanmak ve verileri i\u015flemek i\u00e7in gereken i\u015f mant\u0131\u011f\u0131n\u0131 i\u00e7erecektir.  Basit bir \u00f6rnek \u015fu \u015fekilde olabilir:<\/p>\n<pre><code class=\"language-javascript\">\nconst express = require('express');\nconst app = express();\nconst port = 3000;\n\napp.get('\/', (req, res) => {\n  res.send('Merhaba D\u00fcnya!');\n});\n\napp.listen(port, () => {\n  console.log(Uygulama ${port} portunda \u00e7al\u0131\u015f\u0131yor!);\n});\n<\/code><\/pre>\n<h3>3. Veritaban\u0131 Katman\u0131 (PostgreSQL):<\/h3>\n<p>PostgreSQL i\u00e7in <code>Dockerfile<\/code> olu\u015fturmaya gerek yoktur; \u00e7\u00fcnk\u00fc resmi PostgreSQL imaj\u0131n\u0131 kullanaca\u011f\u0131z.  Bunun i\u00e7in sadece bir docker-compose.yml dosyas\u0131 yeterli olacakt\u0131r.<\/p>\n<h3>Docker Compose ile Ortam\u0131 Kurmak<\/h3>\n<p>T\u00fcm katmanlar\u0131 y\u00f6netmek i\u00e7in docker-compose.yml kullanaca\u011f\u0131z. Bu dosya, her bir kapsay\u0131c\u0131n\u0131n nas\u0131l olu\u015fturulaca\u011f\u0131n\u0131 ve nas\u0131l birbirine ba\u011flanaca\u011f\u0131n\u0131 tan\u0131mlar:<\/p>\n<pre><code class=\"language-yaml\">\nversion: \"3.9\"\nservices:\n  web:\n    build: .\n    ports:\n      - \"3000:3000\"\n    depends_on:\n      - db\n  db:\n    image: postgres:13\n    environment:\n      - POSTGRES_USER=admin\n      - POSTGRES_PASSWORD=admin\n      - POSTGRES_DB=mydb\n<\/code><\/pre>\n<p>Bu dosya, web ve db adl\u0131 iki servis tan\u0131mlar.  web servisi, bizim olu\u015fturdu\u011fumuz Node.js uygulamas\u0131 i\u00e7indir ve db servisi ise PostgreSQL veritaban\u0131 i\u00e7indir. depends_on ile web servisinin db servisinden ba\u011f\u0131ml\u0131 oldu\u011funu belirtiyoruz. B\u00f6ylece veritaban\u0131 \u00e7al\u0131\u015fmadan web servisinin \u00e7al\u0131\u015fmas\u0131n\u0131 engellemi\u015f oluyoruz. Daha sonra  docker-compose up -d komutu ile kapsay\u0131c\u0131lar\u0131 ba\u015flatabiliriz.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu makalede, Docker kullanarak \u00fc\u00e7 katmanl\u0131 bir uygulamay\u0131 nas\u0131l kapsay\u0131c\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m g\u00f6sterdim.  Docker, uygulamalar\u0131n\u0131z\u0131n geli\u015ftirme, test ve \u00fcretim ortamlar\u0131nda tutarl\u0131 bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerini kolayla\u015ft\u0131r\u0131r.  Daha fazla bilgi ve ipucu i\u00e7in <a href=\"https:\/\/fatihsoysal.com\">fatihsoysal.com<\/a> sitesini ziyaret edebilirsiniz.  Umar\u0131m bu k\u0131lavuz size yard\u0131mc\u0131 olmu\u015ftur!<\/p>\n<p>Ayr\u0131ca, Docker ve kapsay\u0131c\u0131la\u015ft\u0131rma hakk\u0131nda daha fazla bilgi edinmek i\u00e7in \u015fu kaynaklara g\u00f6z atabilirsiniz:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.docker.com\/\">Docker Resmi Dok\u00fcmantasyonu<\/a><\/li>\n<li><a href=\"https:\/\/www.docker.com\/resources\/what-containerization\/\">Docker&#8217;\u0131n Kapsay\u0131c\u0131la\u015ft\u0131rma Kaynaklar\u0131<\/a><\/li>\n<\/ul>\n<p>#Etiketler: docker, kapsay\u0131c\u0131la\u015ft\u0131rma, \u00fc\u00e7 katmanl\u0131 uygulama, containerization, three-tier application, microservices, uygulama mimarisi, node.js, express.js, postgresql, docker-compose, fatihsoysal<\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz Merhaba! Fatih Soysal burada. Bu makalede, Docker&#8217;\u0131n sundu\u011fu olanaklar\u0131&hellip;","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-7692","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>\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz<\/title>\n<meta name=\"description\" content=\"Merhaba! Fatih Soysal burada. Bu makalede, Docker&#039;\u0131n sundu\u011fu olanaklar\u0131 kullanarak \u00fc\u00e7 katmanl\u0131 (sunucu, uygulama, veritaban\u0131) uygulamalar\u0131n\u0131z\u0131 nas\u0131l kapsay\u0131c\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. \u00d6ncelikle, \u00fc\u00e7 katmanl\u0131 mimarinin ne oldu\u011funu ve neden kapsay\u0131c\u0131la\u015ft\u0131rman\u0131n \u00f6nemli oldu\u011funu anlamakla ba\u015flayal\u0131m.\" \/>\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\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz\" \/>\n<meta property=\"og:description\" content=\"Merhaba! Fatih Soysal burada. Bu makalede, Docker&#039;\u0131n sundu\u011fu olanaklar\u0131 kullanarak \u00fc\u00e7 katmanl\u0131 (sunucu, uygulama, veritaban\u0131) uygulamalar\u0131n\u0131z\u0131 nas\u0131l kapsay\u0131c\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. \u00d6ncelikle, \u00fc\u00e7 katmanl\u0131 mimarinin ne oldu\u011funu ve neden kapsay\u0131c\u0131la\u015ft\u0131rman\u0131n \u00f6nemli oldu\u011funu anlamakla ba\u015flayal\u0131m.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-25T23:30:13+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=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz\",\"datePublished\":\"2024-12-25T23:30:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/\"},\"wordCount\":624,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/#respond\"]}],\"copyrightYear\":\"2024\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/\",\"name\":\"\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2024-12-25T23:30:13+00:00\",\"description\":\"Merhaba! Fatih Soysal burada. Bu makalede, Docker'\u0131n sundu\u011fu olanaklar\u0131 kullanarak \u00fc\u00e7 katmanl\u0131 (sunucu, uygulama, veritaban\u0131) uygulamalar\u0131n\u0131z\u0131 nas\u0131l kapsay\u0131c\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. \u00d6ncelikle, \u00fc\u00e7 katmanl\u0131 mimarinin ne oldu\u011funu ve neden kapsay\u0131c\u0131la\u015ft\u0131rman\u0131n \u00f6nemli oldu\u011funu anlamakla ba\u015flayal\u0131m.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz\"}]},{\"@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":"\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz","description":"Merhaba! Fatih Soysal burada. Bu makalede, Docker'\u0131n sundu\u011fu olanaklar\u0131 kullanarak \u00fc\u00e7 katmanl\u0131 (sunucu, uygulama, veritaban\u0131) uygulamalar\u0131n\u0131z\u0131 nas\u0131l kapsay\u0131c\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. \u00d6ncelikle, \u00fc\u00e7 katmanl\u0131 mimarinin ne oldu\u011funu ve neden kapsay\u0131c\u0131la\u015ft\u0131rman\u0131n \u00f6nemli oldu\u011funu anlamakla ba\u015flayal\u0131m.","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\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/","og_locale":"tr_TR","og_type":"article","og_title":"\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz","og_description":"Merhaba! Fatih Soysal burada. Bu makalede, Docker'\u0131n sundu\u011fu olanaklar\u0131 kullanarak \u00fc\u00e7 katmanl\u0131 (sunucu, uygulama, veritaban\u0131) uygulamalar\u0131n\u0131z\u0131 nas\u0131l kapsay\u0131c\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. \u00d6ncelikle, \u00fc\u00e7 katmanl\u0131 mimarinin ne oldu\u011funu ve neden kapsay\u0131c\u0131la\u015ft\u0131rman\u0131n \u00f6nemli oldu\u011funu anlamakla ba\u015flayal\u0131m.","og_url":"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2024-12-25T23:30:13+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz","datePublished":"2024-12-25T23:30:13+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/"},"wordCount":624,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/#respond"]}],"copyrightYear":"2024","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/","url":"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/","name":"\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2024-12-25T23:30:13+00:00","description":"Merhaba! Fatih Soysal burada. Bu makalede, Docker'\u0131n sundu\u011fu olanaklar\u0131 kullanarak \u00fc\u00e7 katmanl\u0131 (sunucu, uygulama, veritaban\u0131) uygulamalar\u0131n\u0131z\u0131 nas\u0131l kapsay\u0131c\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. \u00d6ncelikle, \u00fc\u00e7 katmanl\u0131 mimarinin ne oldu\u011funu ve neden kapsay\u0131c\u0131la\u015ft\u0131rman\u0131n \u00f6nemli oldu\u011funu anlamakla ba\u015flayal\u0131m.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/uc-katmanli-uygulamalari-docker-ile-kapsayicilastirma-pratik-bir-kilavuz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"\u00dc\u00e7 Katmanl\u0131 Uygulamalar\u0131 Docker ile Kapsay\u0131c\u0131la\u015ft\u0131rma: Pratik Bir K\u0131lavuz"}]},{"@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\/7692","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=7692"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/7692\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=7692"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=7692"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=7692"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}