{"id":27731,"date":"2025-08-18T06:00:20","date_gmt":"2025-08-18T03:00:20","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/"},"modified":"2025-08-18T06:00:20","modified_gmt":"2025-08-18T03:00:20","slug":"go-api-ve-caddyi-dockerize-etme-komple-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/","title":{"rendered":"Go API ve Caddy&#8217;i Dockerize Etme: Komple Rehber"},"content":{"rendered":"<p>Go API ve Caddy&#8217;i Dockerize Etme: Komple Rehber<\/p>\n<p>Go ile geli\u015ftirdi\u011finiz API&#8217;\u0131n\u0131z\u0131 ve Caddy web sunucunuzu g\u00fcvenilir ve \u00f6l\u00e7eklenebilir bir \u015fekilde da\u011f\u0131tmak istiyor musunuz? Bu makale, Docker kullanarak Go API ve Caddy&#8217;i nas\u0131l birle\u015ftirerek g\u00fc\u00e7l\u00fc ve ta\u015f\u0131nabilir bir uygulama olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r.  Docker&#8217;\u0131n avantajlar\u0131ndan yararlanarak, geli\u015ftirme, test ve \u00fcretim ortamlar\u0131n\u0131z aras\u0131nda tutarl\u0131l\u0131k sa\u011flayacak ve da\u011f\u0131t\u0131m s\u00fcrecini kolayla\u015ft\u0131racaks\u0131n\u0131z.  Haz\u0131rsan\u0131z,  Go ve Docker d\u00fcnyas\u0131na dalal\u0131m!<\/p>\n<h2>Go API Geli\u015ftirme: Temel Ad\u0131mlar<\/h2>\n<p>Go, performansl\u0131 ve basit API&#8217;ler geli\u015ftirmek i\u00e7in ideal bir dildir. \u00d6ncelikle, basit bir Go API olu\u015fturaca\u011f\u0131z. Bu API, basit bir &#8220;Merhaba D\u00fcnya&#8221; mesaj\u0131 d\u00f6nd\u00fcrecektir. Bu, daha karma\u015f\u0131k API&#8217;lerin temelini olu\u015fturmam\u0131za yard\u0131mc\u0131 olacakt\u0131r.  A\u015fa\u011f\u0131daki kod blo\u011fu, temel bir Go API&#8217;sini g\u00f6stermektedir:<\/p>\n<pre><code class=\"language-go\">package main\n\nimport (\n\t\"fmt\"\n\t\"net\/http\"\n)\n\nfunc handler(w http.ResponseWriter, r *http.Request) {\n\tfmt.Fprintf(w, \"Merhaba D\u00fcnya!\")\n}\n\nfunc main() {\n\thttp.HandleFunc(\"\/\", handler)\n\thttp.ListenAndServe(\":8080\", nil)\n}<\/pre>\n<p><\/code><\/p>\n<p>Bu kodu <code>main.go<\/code> adl\u0131 bir dosyaya kaydedin.  Daha sonra, <code>go mod init myapi<\/code> komutu ile bir Go mod\u00fcl\u00fc olu\u015fturun ve <code>go get<\/code> komutu ile gerekli ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckleyin (bu \u00f6rnekte ba\u011f\u0131ml\u0131l\u0131k yok). Son olarak, <code>go build<\/code> komutu ile uygulamay\u0131 derleyin.  Bu ad\u0131m, Go API geli\u015ftirmenin temelini atar.  Daha karma\u015f\u0131k API'ler i\u00e7in, veritaban\u0131 entegrasyonu, hata y\u00f6netimi ve g\u00fcvenlik \u00f6nlemleri gibi ek unsurlar eklemeniz gerekecektir.  Bu konuda daha fazla bilgi i\u00e7in <a href=\"https:\/\/fatihsoysal.com\">Fatih Soysal'\u0131n web sitesini<\/a> ziyaret edebilirsiniz.<\/p>\n<h2>Caddy Web Sunucusu ile Entegre Etme<\/h2>\n<p>Caddy, otomatik HTTPS deste\u011fi ve basit yap\u0131land\u0131rmas\u0131 ile bilinen g\u00fc\u00e7l\u00fc bir web sunucusudur.  Go API'm\u0131z\u0131 Caddy ile entegre ederek, g\u00fcvenli ve kolay y\u00f6netilebilir bir sunucu kurabiliriz.  Caddy'nin konfig\u00fcrasyon dosyas\u0131n\u0131 (genellikle <code>Caddyfile<\/code> ad\u0131nda) a\u015fa\u011f\u0131daki gibi d\u00fczenleyin:<\/p>\n<pre><code class=\"language-caddyfile\">localhost {\n    reverse_proxy localhost:8080\n}<\/pre>\n<p><\/code><\/p>\n<p>Bu konfig\u00fcrasyon, Caddy'nin gelen istekleri <code>localhost:8080<\/code> adresindeki Go API'sine y\u00f6nlendirmesini sa\u011flar.  Caddy'nin otomatik HTTPS \u00f6zelli\u011finden yararlanmak i\u00e7in, Caddyfile'\u0131 daha detayl\u0131 bir \u015fekilde yap\u0131land\u0131rabilirsiniz.  \u00d6rne\u011fin, Let's Encrypt ile otomatik sertifika alma \u00f6zelli\u011fini kullanabilirsiniz.  Bu, API'n\u0131z\u0131 g\u00fcvenli bir \u015fekilde sunman\u0131za olanak tan\u0131r.  Ayr\u0131ca, Caddy'nin geli\u015fmi\u015f \u00f6zellikleri, \u00f6rne\u011fin, load balancing veya reverse proxy gibi \u00f6zellikleri, API'n\u0131z\u0131n performans\u0131n\u0131 ve \u00f6l\u00e7eklenebilirli\u011fini art\u0131rmak i\u00e7in kullan\u0131labilir.<\/p>\n<h2>Dockerfile Olu\u015fturma: Go API ve Caddy'i Dockerize Etme<\/h2>\n<p>Docker, uygulamalar\u0131n\u0131z\u0131 tutarl\u0131 ve ta\u015f\u0131nabilir bir \u015fekilde da\u011f\u0131tman\u0131za olanak tan\u0131r.  Go API ve Caddy'i Dockerize etmek i\u00e7in, bir <code>Dockerfile<\/code> olu\u015fturmam\u0131z gerekir.  A\u015fa\u011f\u0131daki <code>Dockerfile<\/code>, Go API ve Caddy'i tek bir Docker imaj\u0131na paketler:<\/p>\n<pre><code class=\"language-dockerfile\"># Go API a\u015famas\u0131\nFROM golang:1.20-alpine AS builder\nWORKDIR \/app\nCOPY go.mod .\/\nCOPY go.sum .\/\nRUN go mod download\nCOPY . .\nRUN go build -o main .\n\n# Caddy a\u015famas\u0131\nFROM caddy:latest\nCOPY --from=builder \/app\/main \/usr\/bin\/\nCOPY Caddyfile .\/\nEXPOSE 80\nCMD [\"caddy\", \"run\"]<\/pre>\n<p><\/code><\/p>\n<p>Bu <code>Dockerfile<\/code>, \u00f6nce Go uygulamas\u0131n\u0131 derleyen bir \"builder\" a\u015famas\u0131 ve ard\u0131ndan Caddy ile birlikte \u00e7al\u0131\u015ft\u0131r\u0131lan bir \u00e7al\u0131\u015fma zaman\u0131 a\u015famas\u0131 tan\u0131mlar.  Bu iki a\u015famal\u0131 yakla\u015f\u0131m, Docker imaj\u0131n\u0131n boyutunu k\u00fc\u00e7\u00fcltmeye yard\u0131mc\u0131 olur.  <code>COPY<\/code> komutlar\u0131, gerekli dosyalar\u0131 Docker imaj\u0131na kopyalar ve <code>CMD<\/code> komutu, Caddy'nin \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>Docker Image Olu\u015fturma ve \u00c7al\u0131\u015ft\u0131rma<\/h2>\n<p><code>Dockerfile<\/code>'\u0131 olu\u015fturduktan sonra, a\u015fa\u011f\u0131daki komutlar\u0131 kullanarak Docker imaj\u0131n\u0131 olu\u015fturup \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">docker build -t myapi .\ndocker run -p 80:80 myapi<\/pre>\n<p><\/code><\/p>\n<p><code>docker build<\/code> komutu, <code>Dockerfile<\/code>'dan bir Docker imaj\u0131 olu\u015fturur.  <code>docker run<\/code> komutu ise, olu\u015fturulan imaj\u0131 \u00e7al\u0131\u015ft\u0131r\u0131r ve 80 numaral\u0131 portu ana makinedeki 80 numaral\u0131 porta e\u015fler.  Bu, API'n\u0131za taray\u0131c\u0131n\u0131zdan eri\u015fmenizi sa\u011flar.<\/p>\n<h2>\u00d6\u011frenme Yol Haritas\u0131<\/h2>\n<p><strong>Yeni Ba\u015flayan:<\/strong> Go'nun temellerini \u00f6\u011frenin, basit bir \"Merhaba D\u00fcnya\" uygulamas\u0131 olu\u015fturun ve temel Docker komutlar\u0131n\u0131 \u00f6\u011frenin.  Bu ad\u0131mda, yukar\u0131da verilen basit Go API ve Caddy \u00f6rne\u011fini uygulamay\u0131 hedefleyin.<\/p>\n<p><strong>Orta Seviye:<\/strong>  Daha karma\u015f\u0131k Go API'leri olu\u015fturun, veritaban\u0131 entegrasyonu ve hata y\u00f6netimi ekleyin.  Docker Compose kullanarak birden fazla konteyn\u0131r\u0131 y\u00f6netmeyi \u00f6\u011frenin.  Caddy'nin geli\u015fmi\u015f konfig\u00fcrasyon se\u00e7eneklerini ke\u015ffedin.<\/p>\n<p><strong>\u0130leri Seviye:<\/strong>  Kubernetes gibi orkestrasyon platformlar\u0131 ile Docker imajlar\u0131n\u0131 da\u011f\u0131tmay\u0131 \u00f6\u011frenin.  CI\/CD pipeline'lar\u0131 olu\u015fturarak otomatik da\u011f\u0131t\u0131m s\u00fcre\u00e7leri olu\u015fturun.  G\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nlemek i\u00e7in g\u00fcvenlik best practices'lerini uygulay\u0131n.  Performans optimizasyonu tekniklerini kullanarak API'n\u0131z\u0131n performans\u0131n\u0131 art\u0131r\u0131n.<\/p>\n<h2>Ger\u00e7ek D\u00fcnya Senaryolar\u0131: Vaka Analizleri<\/h2>\n<p>Bir e-ticaret uygulamas\u0131 i\u00e7in, \u00fcr\u00fcn katalo\u011funu sunan bir Go API ve Caddy ile g\u00fcvenli bir \u015fekilde da\u011f\u0131t\u0131m\u0131 yap\u0131labilir.  Bir blog platformu i\u00e7in, blog g\u00f6nderilerini y\u00f6neten bir Go API ve Caddy ile statik i\u00e7eriklerin sunulmas\u0131 ger\u00e7ekle\u015ftirilebilir.  Bir IoT cihaz\u0131 i\u00e7in, sens\u00f6r verilerini i\u015fleyen bir Go API ve Caddy ile verilerin g\u00fcvenli bir \u015fekilde sunulmas\u0131 yap\u0131labilir.  Bu senaryolarda, Docker'\u0131n \u00f6l\u00e7eklenebilirlik ve y\u00f6netim avantajlar\u0131ndan faydalan\u0131labilir.<\/p>\n<h2>G\u00fcvenlik Uyar\u0131lar\u0131<\/h2>\n<div style=\"background-color:#ffcccc; padding:10px; border:1px solid #ffaaaa;\">\n  <strong>Dikkat:<\/strong> Docker imajlar\u0131n\u0131 olu\u015ftururken, g\u00fcvenlik a\u00e7\u0131s\u0131ndan en g\u00fcncel ve g\u00fcvenli temel imajlar\u0131 kullan\u0131n.  Uygulaman\u0131zda g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nlemek i\u00e7in gerekli \u00f6nlemleri al\u0131n.  Gizli bilgilerinizi Docker imajlar\u0131n\u0131za dahil etmeyin.  Bunun yerine, \u00e7evre de\u011fi\u015fkenleri kullanarak bu bilgileri g\u00fcvenli bir \u015fekilde y\u00f6netin.\n<\/div>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu makalede, Go API ve Caddy'i Dockerize etmenin ad\u0131m ad\u0131m nas\u0131l yap\u0131laca\u011f\u0131n\u0131 a\u00e7\u0131klad\u0131k.  Docker'\u0131n avantajlar\u0131ndan yararlanarak, uygulamalar\u0131n\u0131z\u0131 kolayca da\u011f\u0131tabilir, y\u00f6netebilir ve \u00f6l\u00e7eklendirebilirsiniz.  Go'nun performans\u0131 ve Caddy'nin kolayl\u0131\u011f\u0131 bir araya getirilerek, g\u00fc\u00e7l\u00fc ve g\u00fcvenilir bir uygulama olu\u015fturabilirsiniz.  Daha fazla bilgi i\u00e7in <a href=\"https:\/\/fatihsoysal.com\">Fatih Soysal'\u0131n web sitesini<\/a> ziyaret etmeyi unutmay\u0131n.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<ul>\n<li><strong>Go API'mi Dockerize etmenin avantajlar\u0131 nelerdir?<\/strong>  Tutarl\u0131l\u0131k, ta\u015f\u0131nabilirlik, \u00f6l\u00e7eklenebilirlik ve daha kolay da\u011f\u0131t\u0131m sa\u011flar.<\/li>\n<li><strong>Caddy'i neden tercih etmeliyim?<\/strong>  Otomatik HTTPS deste\u011fi, basit konfig\u00fcrasyon ve y\u00fcksek performans sunar.<\/li>\n<li><strong>Dockerfile'da iki a\u015famal\u0131 yakla\u015f\u0131m\u0131n amac\u0131 nedir?<\/strong> \u0130maj boyutunu k\u00fc\u00e7\u00fcltmeye ve g\u00fcvenli\u011fi art\u0131rmaya yard\u0131mc\u0131 olur.<\/li>\n<li><strong>Go uygulamas\u0131nda hata y\u00f6netimi nas\u0131l yap\u0131l\u0131r?<\/strong>  <code>recover<\/code> fonksiyonu ile panikletmeyi yakalayabilir ve uygun bir \u015fekilde yan\u0131t verebilirsiniz.<\/li>\n<li><strong>Docker Compose nedir ve nas\u0131l kullan\u0131l\u0131r?<\/strong> Birden fazla konteyn\u0131r\u0131 y\u00f6netmek i\u00e7in kullan\u0131labilen bir ara\u00e7t\u0131r.  <code>docker-compose.yml<\/code> dosyas\u0131 ile konteyn\u0131rlar\u0131n konfig\u00fcrasyonu yap\u0131labilir.<\/li>\n<\/ul>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"Go API ve Caddy&#8217;i Dockerize Etme: Komple Rehber Go ile geli\u015ftirdi\u011finiz API&#8217;\u0131n\u0131z\u0131 ve Caddy web sunucunuzu g\u00fcvenilir ve&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-27731","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>Go API ve Caddy&#039;i Dockerize Etme: Komple Rehber<\/title>\n<meta name=\"description\" content=\"Go ile geli\u015ftirdi\u011finiz API&#039;\u0131n\u0131z\u0131 ve Caddy web sunucunuzu g\u00fcvenilir ve \u00f6l\u00e7eklenebilir bir \u015fekilde da\u011f\u0131tmak istiyor musunuz? Bu makale, Docker kullanarak Go API ve Caddy&#039;i nas\u0131l birle\u015ftirerek g\u00fc\u00e7l\u00fc ve ta\u015f\u0131nabilir bir uygulama olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r. Docker&#039;\u0131n avantajlar\u0131ndan yararlanarak, geli\u015ftirme, test ve \u00fcretim ortamlar\u0131n\u0131z aras\u0131nda tutarl\u0131l\u0131k sa\u011flayacak ve da\u011f\u0131t\u0131m s\u00fcrecini kolayla\u015ft\u0131racaks\u0131n\u0131z. Haz\u0131rsan\u0131z, Go ve Docker d\u00fcnyas\u0131na dalal\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\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Go API ve Caddy&#039;i Dockerize Etme: Komple Rehber\" \/>\n<meta property=\"og:description\" content=\"Go ile geli\u015ftirdi\u011finiz API&#039;\u0131n\u0131z\u0131 ve Caddy web sunucunuzu g\u00fcvenilir ve \u00f6l\u00e7eklenebilir bir \u015fekilde da\u011f\u0131tmak istiyor musunuz? Bu makale, Docker kullanarak Go API ve Caddy&#039;i nas\u0131l birle\u015ftirerek g\u00fc\u00e7l\u00fc ve ta\u015f\u0131nabilir bir uygulama olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r. Docker&#039;\u0131n avantajlar\u0131ndan yararlanarak, geli\u015ftirme, test ve \u00fcretim ortamlar\u0131n\u0131z aras\u0131nda tutarl\u0131l\u0131k sa\u011flayacak ve da\u011f\u0131t\u0131m s\u00fcrecini kolayla\u015ft\u0131racaks\u0131n\u0131z. Haz\u0131rsan\u0131z, Go ve Docker d\u00fcnyas\u0131na dalal\u0131m!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-18T03:00:20+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=\"6 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Go API ve Caddy&#8217;i Dockerize Etme: Komple Rehber\",\"datePublished\":\"2025-08-18T03:00:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/\"},\"wordCount\":1033,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/\",\"name\":\"Go API ve Caddy'i Dockerize Etme: Komple Rehber\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-08-18T03:00:20+00:00\",\"description\":\"Go ile geli\u015ftirdi\u011finiz API'\u0131n\u0131z\u0131 ve Caddy web sunucunuzu g\u00fcvenilir ve \u00f6l\u00e7eklenebilir bir \u015fekilde da\u011f\u0131tmak istiyor musunuz? Bu makale, Docker kullanarak Go API ve Caddy'i nas\u0131l birle\u015ftirerek g\u00fc\u00e7l\u00fc ve ta\u015f\u0131nabilir bir uygulama olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r. Docker'\u0131n avantajlar\u0131ndan yararlanarak, geli\u015ftirme, test ve \u00fcretim ortamlar\u0131n\u0131z aras\u0131nda tutarl\u0131l\u0131k sa\u011flayacak ve da\u011f\u0131t\u0131m s\u00fcrecini kolayla\u015ft\u0131racaks\u0131n\u0131z. Haz\u0131rsan\u0131z, Go ve Docker d\u00fcnyas\u0131na dalal\u0131m!\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Go API ve Caddy&#8217;i Dockerize Etme: Komple Rehber\"}]},{\"@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":"Go API ve Caddy'i Dockerize Etme: Komple Rehber","description":"Go ile geli\u015ftirdi\u011finiz API'\u0131n\u0131z\u0131 ve Caddy web sunucunuzu g\u00fcvenilir ve \u00f6l\u00e7eklenebilir bir \u015fekilde da\u011f\u0131tmak istiyor musunuz? Bu makale, Docker kullanarak Go API ve Caddy'i nas\u0131l birle\u015ftirerek g\u00fc\u00e7l\u00fc ve ta\u015f\u0131nabilir bir uygulama olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r. Docker'\u0131n avantajlar\u0131ndan yararlanarak, geli\u015ftirme, test ve \u00fcretim ortamlar\u0131n\u0131z aras\u0131nda tutarl\u0131l\u0131k sa\u011flayacak ve da\u011f\u0131t\u0131m s\u00fcrecini kolayla\u015ft\u0131racaks\u0131n\u0131z. Haz\u0131rsan\u0131z, Go ve Docker d\u00fcnyas\u0131na dalal\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\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Go API ve Caddy'i Dockerize Etme: Komple Rehber","og_description":"Go ile geli\u015ftirdi\u011finiz API'\u0131n\u0131z\u0131 ve Caddy web sunucunuzu g\u00fcvenilir ve \u00f6l\u00e7eklenebilir bir \u015fekilde da\u011f\u0131tmak istiyor musunuz? Bu makale, Docker kullanarak Go API ve Caddy'i nas\u0131l birle\u015ftirerek g\u00fc\u00e7l\u00fc ve ta\u015f\u0131nabilir bir uygulama olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r. Docker'\u0131n avantajlar\u0131ndan yararlanarak, geli\u015ftirme, test ve \u00fcretim ortamlar\u0131n\u0131z aras\u0131nda tutarl\u0131l\u0131k sa\u011flayacak ve da\u011f\u0131t\u0131m s\u00fcrecini kolayla\u015ft\u0131racaks\u0131n\u0131z. Haz\u0131rsan\u0131z, Go ve Docker d\u00fcnyas\u0131na dalal\u0131m!","og_url":"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-08-18T03:00:20+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"6 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Go API ve Caddy&#8217;i Dockerize Etme: Komple Rehber","datePublished":"2025-08-18T03:00:20+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/"},"wordCount":1033,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/","name":"Go API ve Caddy'i Dockerize Etme: Komple Rehber","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-08-18T03:00:20+00:00","description":"Go ile geli\u015ftirdi\u011finiz API'\u0131n\u0131z\u0131 ve Caddy web sunucunuzu g\u00fcvenilir ve \u00f6l\u00e7eklenebilir bir \u015fekilde da\u011f\u0131tmak istiyor musunuz? Bu makale, Docker kullanarak Go API ve Caddy'i nas\u0131l birle\u015ftirerek g\u00fc\u00e7l\u00fc ve ta\u015f\u0131nabilir bir uygulama olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r. Docker'\u0131n avantajlar\u0131ndan yararlanarak, geli\u015ftirme, test ve \u00fcretim ortamlar\u0131n\u0131z aras\u0131nda tutarl\u0131l\u0131k sa\u011flayacak ve da\u011f\u0131t\u0131m s\u00fcrecini kolayla\u015ft\u0131racaks\u0131n\u0131z. Haz\u0131rsan\u0131z, Go ve Docker d\u00fcnyas\u0131na dalal\u0131m!","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/go-api-ve-caddyi-dockerize-etme-komple-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Go API ve Caddy&#8217;i Dockerize Etme: Komple Rehber"}]},{"@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\/27731","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=27731"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27731\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=27731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=27731"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=27731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}