{"id":5162,"date":"2025-03-18T03:59:01","date_gmt":"2025-03-18T00:59:01","guid":{"rendered":"https:\/\/hostingdunyam.com.tr\/blog\/?p=5162"},"modified":"2025-03-18T03:59:01","modified_gmt":"2025-03-18T00:59:01","slug":"docker-nedir","status":"publish","type":"post","link":"https:\/\/hostingdunyam.com.tr\/blog\/docker-nedir","title":{"rendered":"Docker Nedir?"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Uygulama olu\u015fturma, \u00e7al\u0131\u015ft\u0131rma, y\u00f6netme, da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinin \u00e7ok daha basit bir hale gelmesini sa\u011flayan yaz\u0131l\u0131m platformu Docker olarak isimlendirilmektedir. A\u00e7\u0131k kaynakl\u0131 bir yaz\u0131l\u0131m platformu olan Docker, g\u00fcn\u00fcm\u00fczde milyonlarca uygulama taraf\u0131ndan kullan\u0131lmaya devam edilmektedir. Kurulumunun ger\u00e7ekle\u015ftirildi\u011fi bilgisayarlarda, i\u015fletim sistemini sanalla\u015ft\u0131rmaktad\u0131r. Bu sayede uygulama katman\u0131nda soyutlama ger\u00e7ekle\u015fmektedir. Ayn\u0131 zamanda uygulamalar\u0131n altyap\u0131dan ayr\u0131\u015ft\u0131r\u0131lmas\u0131nda da etkili bir role sahip oldu\u011fu g\u00f6zlemlenmektedir.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00c7ok daha kapsaml\u0131 bir \u015fekilde bahsedecek olursak Docker 2008 y\u0131l\u0131nda Solomon Hykes taraf\u0131ndan kurulmu\u015ftur. Tan\u0131t\u0131m\u0131 2013 y\u0131l\u0131nda ger\u00e7ekle\u015ftirilmi\u015f ve o g\u00fcnden bug\u00fcne d\u00fcnya genelindeki pek \u00e7ok dev markan\u0131n dikkatini \u00e7ekmi\u015ftir. Yenilik\u00e7i, geli\u015ftirilen teknolojilere yat\u0131r\u0131m yapan markalardan destek alm\u0131\u015ft\u0131r. Container ba\u011flant\u0131l\u0131 uygulamalar\u0131n haz\u0131rlanmas\u0131 amac\u0131yla kullan\u0131lan Docker ticari versiyonu ise Docker Inc. taraf\u0131ndan sat\u0131\u015fa sunulmu\u015ftur. Sekt\u00f6r\u00fcndeki liderlerden biri olarak temel \u00f6zellikleri ve kullan\u0131m alanlar\u0131yla avantajl\u0131 bir se\u00e7enek oldu\u011fu g\u00f6zlemlenmektedir.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Docker hakk\u0131nda bilgi sahibi olabilmek i\u00e7in \u00f6\u011frenilmesi gereken temel kavramlardan birisi ise container olarak tan\u0131mlanmaktad\u0131r. Container teknolojisi bulut bili\u015fimde kullan\u0131lmaktad\u0131r. Ayn\u0131 zamanda VM ihtiyac\u0131 olmadan \u00e7e\u015fitli i\u015fletim sistemi platformlar\u0131nda uygulamalar\u0131n \u00e7al\u0131\u015fmas\u0131 amac\u0131na hizmet etmektedir. Test a\u015famas\u0131nda olan yaz\u0131l\u0131m geli\u015ftirme \u00e7al\u0131\u015fmalar\u0131n\u0131n \u00e7ok daha kolay bir \u015fekilde tamamlanmas\u0131n\u0131 sa\u011flamaktad\u0131r. Container sayesinde uygulamalar daha basit bir \u015fekilde da\u011f\u0131t\u0131lmaktad\u0131r. Uygulamalar\u0131n ya\u015fayabilece\u011fi yal\u0131t\u0131lm\u0131\u015f ortam\u0131n olu\u015fturulmas\u0131na zemin haz\u0131rlamaktad\u0131r. Ta\u015f\u0131nabilir olmas\u0131n\u0131n yan\u0131nda i\u015fletim sisteminin yeniden kullan\u0131labilir hale gelmesini sa\u011flamaktad\u0131r.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Docker Ne \u0130\u015fe Yarar?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Teknolojiyle ilgili ara\u015ft\u0131rmalar yapan, yenilikleri takip eden bir\u00e7ok ki\u015fi <\/span><b>Docker ne i\u015fe yarar<\/b><span style=\"font-weight: 400;\"> \u015feklinde sorular y\u00f6neltmektedir. Bu konuda bilgi sahibi olmak isteyen ki\u015filerin bilmesi gereken detaylardan birisi Docker yaz\u0131l\u0131m platformunun yeni nesil sanalla\u015ft\u0131rma ile ilgili bir kavram oldu\u011fudur. Yani ayn\u0131 i\u015fletim sisteminde \u00e7al\u0131\u015fmas\u0131 m\u00fcmk\u00fcn olan, uzaktan ba\u011flant\u0131 sa\u011flanan Docker ve sunucu mimarisi ortak kullan\u0131lmaktad\u0131r. Daha fazla detay verecek olursak da Docker geli\u015ftirilmekte olan uygulamalar\u0131n ilerleyebilmesi, gerekli testlerden ge\u00e7irilmesi ve kullan\u0131lmak \u00fczere devreye al\u0131nmas\u0131 gibi s\u00fcre\u00e7leri kolayla\u015ft\u0131rmaktad\u0131r. Bile\u015fenlerin birle\u015fmesini daha h\u0131zl\u0131 hale getiren yaz\u0131l\u0131m platformu, kod g\u00f6nderimi s\u0131ras\u0131ndaki hatalar\u0131 en aza indirmektedir. \u00d6rnek verecek olursak ayn\u0131 sistemde kullan\u0131lan uygulamalar\u0131n farkl\u0131 s\u00fcr\u00fcmlerinden yararlan\u0131labilmektedir. Farkl\u0131 iki Docker ile uygulama ayr\u0131 \u015fekilde kullan\u0131labilmektedir.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Docker a\u00e7\u0131k kaynakl\u0131 yaz\u0131l\u0131m platformu, kodlar\u0131n olabilecek en h\u0131zl\u0131 \u015fekilde test edilmesini sa\u011flamaktad\u0131r. Kullan\u0131m a\u00e7\u0131s\u0131ndan incelendi\u011fi zaman ise bir hayli kolay bir yap\u0131s\u0131n\u0131n oldu\u011fu anla\u015f\u0131lmaktad\u0131r. Platform i\u00e7erisinde kullanabilece\u011finiz t\u00fcm \u00f6zellikler CLI ile beraber sunulmaktad\u0131r. Ayr\u0131ca uygulama kodlar\u0131n\u0131n bilgisayar\u0131n sunucusuna ta\u015f\u0131nmas\u0131n\u0131 daha kolay hale getirmektedir. Hemen her noktada \u00e7al\u0131\u015fmaya uygun bir yaz\u0131l\u0131md\u0131r. Bu da masa\u00fcst\u00fc, sanal makine, veri merkezleri gibi da\u011f\u0131t\u0131mlar\u0131n ger\u00e7ekle\u015febilece\u011fi anlam\u0131na gelmektedir.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Docker Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Docker yaz\u0131l\u0131m platformu sayesinde geli\u015ftirmi\u015f oldu\u011funuz uygulamalar\u0131 h\u0131zl\u0131 bir \u015fekilde test edebilir, derleme ve da\u011f\u0131tma i\u015flemlerini ger\u00e7ekle\u015ftirebilirsiniz. Ba\u015far\u0131l\u0131 bir yaz\u0131l\u0131m platformu olmas\u0131n\u0131n yan\u0131 s\u0131ra yaz\u0131l\u0131m\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan hemen her \u015feyi container i\u00e7erisinde paketlemektedir. Container birimlerinde kod, yaz\u0131l\u0131m kitapl\u0131klar\u0131, \u00e7al\u0131\u015fma zaman\u0131 ve sistem ara\u00e7lar\u0131 gibi se\u00e7enekler bulunmaktad\u0131r. Kullan\u0131m\u0131 s\u0131ras\u0131nda hemen her ortama uygum sa\u011flad\u0131\u011f\u0131 g\u00f6zlemlenmektedir. Ayr\u0131ca kullan\u0131m s\u00fcre\u00e7lerinde uygulaman\u0131n da\u011f\u0131t\u0131m\u0131 her ortam i\u00e7in h\u0131zl\u0131 bir \u015fekilde ger\u00e7ekle\u015ftirilmektedir.\u00a0<\/span><\/p>\n<p><b>Docker nas\u0131l \u00e7al\u0131\u015f\u0131r<\/b><span style=\"font-weight: 400;\"> sorusuna cevap vermeden \u00f6nce i\u00e7erdi\u011fi terimler hakk\u0131nda bilgi sahibi olmak da \u00f6nemlidir. K\u0131sa bir \u00f6zet ge\u00e7ecek olursak uygulamalar\u0131 bar\u0131nd\u0131ran container se\u00e7eneklerinin olu\u015fturulmas\u0131 i\u00e7in kullan\u0131lan paketler \u0130mage olarak isimlendirilmektedir. Container ise \u0130mage se\u00e7enekleri i\u00e7in \u00f6nceden haz\u0131rlanan, \u00e7al\u0131\u015fmaya haz\u0131r hale getirilen ortamlara denilmektedir. Image \u00fcretimi s\u0131ras\u0131nda belirlenen komut ve kurallar\u0131 kapsayan Docker dosyas\u0131 ise Dockerfile olarak tan\u0131mlanmaktad\u0131r. Genel olarak incelendi\u011fi zaman sanal makineye benzeyen Docker sanal makineden farkl\u0131l\u0131klara sahiptir. \u00d6rnek olarak tamamen uygulama \u00fczerinde \u00e7al\u0131\u015f\u0131lan sistemle ayn\u0131 Linux sistemini kullanmay\u0131 sa\u011flamaktad\u0131r. B\u00f6ylece uygulamalar\u0131n performans de\u011ferlerinin \u00f6nemli \u00f6l\u00e7\u00fcde artmas\u0131na yard\u0131mc\u0131 olmaktad\u0131r. En \u00f6nemli nokta ise a\u00e7\u0131k kaynak kodlu olmas\u0131d\u0131r. Bu da Docker yaz\u0131l\u0131m platformunun geli\u015ftirilmesi i\u00e7in herkesin belirli bir katk\u0131da bulunabilece\u011fi anlam\u0131n\u0131 ta\u015f\u0131maktad\u0131r.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Linux container \u00fczerine kurulan Docker, t\u0131pk\u0131 Linux i\u015fletim sisteminde oldu\u011fu gibi birbirinden farkl\u0131 konteynerlerle haz\u0131rlanmaktad\u0131r. Farkl\u0131 olan konteynerlerin \u00e7o\u011falt\u0131lmas\u0131 da olduk\u00e7a basittir. \u00c7\u00fcnk\u00fc her birinde process kullan\u0131m\u0131 s\u00f6z konusudur.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Docker Neden Kullan\u0131lmal\u0131?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Piyasaya s\u00fcr\u00fcld\u00fc\u011f\u00fcnden bu yana bulut i\u00e7erisinde hem yerel hem de hibrit \u00e7\u00f6z\u00fcmlerden yararlanan \u015firketler art\u0131\u015f g\u00f6stermektedir. Bu durum Docker yaz\u0131l\u0131m platformunun da giderek \u00e7ok daha fazla pop\u00fclerle\u015fmesinde \u00f6nemli bir rol oynam\u0131\u015ft\u0131r. <\/span><b>Docker neden kullan\u0131lmal\u0131<\/b><span style=\"font-weight: 400;\"> sorusuna kapsaml\u0131 bir cevap verecek olursak da \u00f6ncelikli olarak yaz\u0131l\u0131m geli\u015ftirme projelerinde yer edinmektedir. Ayr\u0131ca uygulamalar\u0131n ba\u015far\u0131l\u0131 bir \u015fekilde teslim edilmesinde etkisinin oldu\u011fu g\u00f6r\u00fclmektedir. Yaz\u0131l\u0131m, BT hizmetleri, sa\u011fl\u0131k, finans gibi hizmetlerde kullan\u0131lan Docker baz\u0131 alanlarda olduk\u00e7a etkilidir. S\u0131ralayacak olursak:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Docker yaz\u0131l\u0131m geli\u015ftirme faaliyetlerinin standartla\u015ft\u0131r\u0131lmas\u0131, \u00e7ok daha basit hale gelebilmesi gibi ama\u00e7larla hizmet etmektedir.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Yaz\u0131l\u0131m ve uygulama geli\u015ftiricilerin manuel ve otomatik testleri ba\u015far\u0131l\u0131 bir \u015fekilde kullanabilmelerini sa\u011flamaktad\u0131r. Bunun i\u00e7in ise test uzmanlar\u0131 ile payla\u015f\u0131mlar\u0131n sorunsuz bir bi\u00e7imde ger\u00e7ekle\u015fmesine zemin haz\u0131rlamaktad\u0131r.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u00dccretsiz yaz\u0131l\u0131m platformu olan Docker geli\u015ftirici ekibine kat\u0131lanlar\u0131n \u00e7al\u0131\u015fmalara ba\u015flad\u0131klar\u0131 andan itibaren verimli olmalar\u0131n\u0131 sa\u011flamaktad\u0131r. \u00c7al\u0131\u015fmalar\u0131n manuel bir \u015fekilde yap\u0131lmas\u0131n\u0131n aksine, otomatik bir \u015fekilde s\u00fcrd\u00fcr\u00fclmesine yard\u0131mc\u0131 olmaktad\u0131r. B\u00f6ylece geli\u015ftiriciler i\u015flemlerin tek bir komut \u00fczerinden ger\u00e7ekle\u015fmesini kolayla\u015ft\u0131rmaktad\u0131r. Bu durum \u00e7al\u0131\u015fmalarda ciddi zaman kazan\u00e7lar\u0131n\u0131n ya\u015fanmas\u0131nda da etkilidir.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Proje ve uygulamalar\u0131n geli\u015ftirilmesi, testten ge\u00e7irilmesi gibi durumlarda olas\u0131 hatalar\u0131n d\u00fczeltilmesinin \u00e7ok daha kolay olmas\u0131n\u0131 sa\u011flamaktad\u0131r. Yaz\u0131l\u0131mlar\u0131n karma\u015f\u0131kl\u0131\u011f\u0131 halinde, takip ve d\u00fczenleme i\u015flemleri karma\u015f\u0131k bir hal almaktad\u0131r. Docker kullan\u0131lmad\u0131\u011f\u0131 durumlarda projelerin kurulumu i\u00e7in gerekli de\u011fi\u015fiklikler geli\u015ftiricilere iletilmelidir. \u0130letimin sa\u011flanmamas\u0131 halinde kod s\u00fcr\u00fcmlerinin \u00e7al\u0131\u015fmas\u0131 durabilmektedir. Bu durum ger\u00e7ekle\u015firken nedeni anla\u015f\u0131lmayabilmektedir.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Docker ile haz\u0131rlanan uygulamalar\u0131n her ortamda \u00e7al\u0131\u015ft\u0131r\u0131labilmesi m\u00fcmk\u00fcnd\u00fcr.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u0130\u015fletmelerin gereksinimlerine uygun olacak \u015fekilde uygulamalar\u0131n b\u00fcy\u00fcy\u00fcp k\u00fc\u00e7\u00fclmesi, i\u015f y\u00fcklerinin d\u00fczenlenmesi sa\u011flayabilmektedir. K\u00fc\u00e7\u00fck \u00f6l\u00e7ekli internet sitelerinde bar\u0131nd\u0131rma altyap\u0131s\u0131 karma\u015f\u0131k de\u011fildir. Buna kar\u015f\u0131n markalar\u0131n geli\u015fip b\u00fcy\u00fcmesi halinde sunucu ile alakal\u0131 olan gereksinimler de farkl\u0131l\u0131k g\u00f6stermektedir. H\u0131zl\u0131 bir trafik ve tempo i\u00e7erisinde internet sitenizin \u00e7\u00f6kmesini engellemektedir. Ayr\u0131ca altyap\u0131 maliyetlerinin de b\u00fct\u00e7enize uyum sa\u011flamas\u0131na yard\u0131mc\u0131 olmaktad\u0131r.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Farkl\u0131 teknolojileri kullanmak isteyenler i\u00e7in kullan\u0131\u015fl\u0131 bir alternatif olarak nitelendirilmektedir. Yeni bir programlama dili deneyimlemek, yeni bir veritaban\u0131 kullanmak gibi taleplere uyum sa\u011flamaktad\u0131r.\u00a0<\/span><\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400;\">Docker Hangi Durumlarda Kullan\u0131lmal\u0131d\u0131r?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">H\u0131zla ilerleyen teknoloji d\u00fcnyas\u0131ndaki baz\u0131 kavramlar, kullan\u0131c\u0131lar\u0131n soru i\u015faretleriyle kar\u015f\u0131la\u015fmas\u0131na yol a\u00e7abilmektedir. S\u00f6z konusu kavramlar aras\u0131nda Docker da yer almaktad\u0131r. <\/span><b>Docker hangi durumlarda kullan\u0131lmal\u0131d\u0131r<\/b><span style=\"font-weight: 400;\"> \u015feklinde bir\u00e7ok soru y\u00f6neltilmektedir. Bu soruya cevap olarak birden fazla kullan\u0131m alan\u0131n\u0131n bulundu\u011funu s\u00f6ylemek m\u00fcmk\u00fcnd\u00fcr. En a\u00e7\u0131klay\u0131c\u0131 \u015fekilde ifade etmek gerekirse Docker uygulamalar\u0131n h\u0131zl\u0131 bir \u015fekilde birle\u015ftirilmesi, gerekli testlerden ge\u00e7irilmesi ve da\u011f\u0131t\u0131m\u0131n\u0131n yap\u0131lmas\u0131 i\u00e7in kullan\u0131lmaktad\u0131r. Bu alanlarda \u00f6nemli bir yere sahip olan, yaz\u0131l\u0131m ve uygulama geli\u015ftirme s\u00fcre\u00e7lerine destek olan ba\u015far\u0131l\u0131 bir platform olarak bilinmektedir.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Kullan\u0131m alanlar\u0131 aras\u0131nda az kaynak ile pek \u00e7ok i\u015f y\u00fck\u00fc \u00e7al\u0131\u015ft\u0131rmak m\u00fcmk\u00fcnd\u00fcr. Ayn\u0131 zamanda geli\u015ftirme s\u00fcre\u00e7lerindeki tutarl\u0131l\u0131\u011f\u0131n sa\u011flanmas\u0131na katk\u0131s\u0131 b\u00fcy\u00fckt\u00fcr. Ay\u0131rma ve yal\u0131t\u0131m uygulamalar\u0131, geli\u015ftirme d\u00f6ng\u00fcs\u00fcn\u00fc kolayla\u015ft\u0131rma gibi artlar\u0131 bulunmaktad\u0131r. \u00c7oklu bulut platformlar\u0131nda i\u015f y\u00fck\u00fcn\u00fcn geli\u015ftirilmesine katk\u0131 sa\u011flamaktad\u0131r. T\u00fcm bu se\u00e7eneklere ek olarak uygulamalar i\u00e7in s\u00fcr\u00fcm kontrol mekanizmas\u0131 \u015feklinde kullan\u0131lmaktad\u0131r. Ayr\u0131ca sanal makinelerle k\u0131yasland\u0131\u011f\u0131nda \u00e7ok daha b\u00fct\u00e7e dostu bir alternatif olarak yorumlanmaktad\u0131r.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Docker\u2019\u0131 Kimler Kullan\u0131l\u0131r?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Docker nedir, ne i\u015fe yarar sorular\u0131na ek olarak <\/span><b>Docker\u2019\u0131 kimler kullan\u0131l\u0131r<\/b><span style=\"font-weight: 400;\"> tarz\u0131nda ara\u015ft\u0131rmalar yap\u0131lmaktad\u0131r. Konuyla alakal\u0131 derinlemesine bilgi sahibi olmak isteyenler, geli\u015ftiriciler i\u00e7in en etkili \u015fekilde tasarland\u0131\u011f\u0131n\u0131 g\u00f6zlemlemektedir. A\u00e7\u0131k uygulama geli\u015ftirme platformu olarak geli\u015ftiricilerin ihtiya\u00e7 ve beklentilerine uyum sa\u011flamaktad\u0131r. Uygulama ve yaz\u0131l\u0131m geli\u015ftirme alan\u0131nda \u00e7al\u0131\u015fan ki\u015filerin her yerde \u00e7al\u0131\u015fabilmesine ortam haz\u0131rlamaktad\u0131r. Hafifli\u011fi, ta\u015f\u0131nabilir yap\u0131s\u0131 sayesinde kullan\u0131m\u0131 kolayla\u015fmaktad\u0131r. Ayn\u0131 zamanda g\u00f6nderme, paketleme ve \u00e7al\u0131\u015ft\u0131rma s\u00fcre\u00e7lerinde bir\u00e7ok avantaj sa\u011flamaktad\u0131r.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Uygulama geli\u015ftiricilerin Docker ile \u00e7al\u0131\u015fabilecek \u015fekilde tasarlanan pek \u00e7ok a\u00e7\u0131k kaynakl\u0131 uygulamadan yararlanmas\u0131 m\u00fcmk\u00fcnd\u00fcr. Docker, yaz\u0131l\u0131m ve uygulama geli\u015ftirme ekipleri i\u00e7in s\u00fcrekli olarak entegrasyon i\u00e7erisindedir. Uygulamalar\u0131 y\u00f6netmek ve geli\u015ftirmek i\u00e7in ortaya \u00e7\u0131kan kar\u0131\u015f\u0131kl\u0131\u011f\u0131 en aza indirmektedir. Ayn\u0131 zamanda sistem i\u00e7erisinde var olan k\u0131s\u0131tlamalar\u0131n azalmas\u0131na yard\u0131mc\u0131 olmaktad\u0131r.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Docker Nas\u0131l Kurulur?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Teknik a\u00e7\u0131dan hemen her yaz\u0131l\u0131m uygulamas\u0131n\u0131n geli\u015ftirilmesi amac\u0131yla kullan\u0131lan Docker kurulumu olduk\u00e7a basittir. \u00d6ncelikli olarak Docker yaz\u0131l\u0131m platformunun resmi web sitesine giri\u015f yapman\u0131z gerekmektedir. Sizin i\u00e7in uygun i\u015fletim sistemi eklentisini indirmeniz istenmektedir. \u0130lgili indirme i\u015flemlerini do\u011fru bir \u015fekilde tamamlamal\u0131s\u0131n\u0131z. Sonras\u0131nda ise Docker yaz\u0131l\u0131m platformunu indirebilirsiniz. Docker indirme i\u015fleminin ard\u0131ndan \u00e7al\u0131\u015ft\u0131rman\u0131z gerekmektedir. Burada ise komut sistemini a\u00e7man\u0131z beklenmektedir.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Docker indirme i\u015flemi i\u00e7in Windows \u00fczerinden ilerliyorsan\u0131z, i\u015fletim sisteminin \u00f6zelliklerini ayarlamal\u0131s\u0131n\u0131z. Windows dosyalar\u0131n\u0131 etkinle\u015ftirmelisiniz. Burada denetim masas\u0131na gidebilir, programlar b\u00f6l\u00fcm\u00fcnden \u00f6zelliklere girebilirsiniz. \u201cWindows \u00f6zelliklerini a\u00e7 veya kapat\u201d se\u00e7ene\u011fine gitmelisiniz. Burada kar\u015f\u0131n\u0131za \u00e7\u0131kan sekmede \u201cHyper-V, Linux i\u00e7in Windows alt sistem ve sanal makine platformu se\u00e7eneklerini onaylamal\u0131s\u0131n\u0131z.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Docker\u2019\u0131n Avantajlar\u0131 Nelerdir?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">D\u00fcnya genelinde aktif bir \u015fekilde kullan\u0131lmakta olan Docker \u00fclkemizde tan\u0131nan, b\u00fcy\u00fck \u015firketler taraf\u0131ndan da kullan\u0131lmaya devam edilmektedir. Bu denli pop\u00fcler bir hal almas\u0131, <\/span><b>Docker\u2019\u0131n avantajlar\u0131 nelerdir s<\/b><span style=\"font-weight: 400;\">orusunu beraberinde getirmektedir. \u00d6rneklendirecek olursak;<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Docker maliyet a\u00e7\u0131s\u0131ndan tasarruf sa\u011flaman\u0131za yard\u0131mc\u0131 olmaktad\u0131r. Altyap\u0131 giderlerinin en aza indirilmesi, yat\u0131r\u0131mda getirisinin olmas\u0131 gibi katk\u0131lar\u0131 mevcuttur. Ayr\u0131ca Docker yaz\u0131l\u0131m platformu, uzun vadede direkt olarak nakit paraya d\u00f6n\u00fc\u015ft\u00fcr\u00fclebilmektedir. Bu durum uygulamalar\u0131n \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 i\u00e7in gerekli olan kaynakla orant\u0131l\u0131 oldu\u011fu anlam\u0131na gelmektedir. Yani uygulamalar\u0131n \u00e7al\u0131\u015fmas\u0131nda kullan\u0131lan kaynaklar\u0131n az olmas\u0131, maliyetlerin de azalmas\u0131na yol a\u00e7maktad\u0131r. Bunun sonucunda Docker yaz\u0131l\u0131m geli\u015ftirme faaliyetleri i\u00e7in gerekli olan harcamalar\u0131n daha az olaca\u011f\u0131 g\u00f6zlemlenmektedir.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Docker i\u00e7in \u00f6ne \u00e7\u0131kan avantajlar aras\u0131nda ta\u015f\u0131nabilirlik yer almaktad\u0131r. Uygulamalar\u0131 farkl\u0131 ortamlarda ta\u015f\u0131nmas\u0131n\u0131 sa\u011flamaktad\u0131r. Bunun sonucunda nerede olursan\u0131z olun uygulamalar\u0131 \u00e7al\u0131\u015ft\u0131rabilir, performans de\u011ferlerinizde d\u00fc\u015f\u00fc\u015fle kar\u015f\u0131la\u015fmazs\u0131n\u0131z.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Docker avantajlar\u0131 aras\u0131nda izolasyon bulunmaktad\u0131r. Uygulamalar\u0131n ihtiyac\u0131 olan \u00e7al\u0131\u015fma ortam\u0131na sahip olmalar\u0131, \u00e7e\u015fitli uygulamalardan korunmalar\u0131 gibi katk\u0131lar\u0131 vard\u0131r. Ayr\u0131ca ek uygulamalar\u0131n yap\u0131lan de\u011fi\u015fikliklerden etkilenmesine de engel olmaktad\u0131r.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Docker geleneksel sanal makinelerle k\u0131yasland\u0131\u011f\u0131nda \u00e7ok daha az kaynak harcamaktad\u0131r. Bu y\u00fczden kaynak verimlili\u011fi sayesinde haf\u0131zalara kaz\u0131nmaktad\u0131r. Kaynak verimlili\u011fine sahip olmak isteyenler i\u00e7in ideal bir tercih olarak de\u011ferlendirilmektedir. Bu durum ayn\u0131 zamanda donan\u0131m giderlerinin de azalmas\u0131 anlam\u0131na gelmektedir.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Uygulamalar\u0131n geli\u015ftirme s\u00fcre\u00e7lerinin daha kolay hale gelmesini sa\u011flamaktad\u0131r. Geli\u015ftiricilerin \u00fcretim i\u00e7in kulland\u0131klar\u0131 ortamlar\u0131n artmas\u0131, uyumla ilgili problemlerin azalmas\u0131 gibi katk\u0131lar\u0131 bulunmaktad\u0131r. Ayn\u0131 zamanda da\u011f\u0131t\u0131m\u0131n daha otomatik bir hal almas\u0131n\u0131 sa\u011flamaktad\u0131r. Kullan\u0131c\u0131lar\u0131n hata oranlar\u0131n\u0131n d\u00fc\u015fmesi ve bu sayede zamandan tasarruf edilebilmesi gibi avantajlar\u0131 bulunmaktad\u0131r.\u00a0<\/span><\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400;\">Docker ile \u0130lgili \u00c7ok Sorulan Sorular<\/span><\/h2>\n<h3><span style=\"font-weight: 400;\">Docker G\u00f6r\u00fcnt\u00fcs\u00fc Nedir?<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Container se\u00e7eneklerinin tan\u0131mlanmas\u0131n\u0131 sa\u011flayan \u015fablonlar, Docker g\u00f6r\u00fcnt\u00fcs\u00fc olarak tan\u0131mlanmaktad\u0131r. G\u00f6r\u00fcnt\u00fc i\u00e7erisinde kodun gerekli oldu\u011fu ba\u011f\u0131ml\u0131l\u0131klar ve kitapl\u0131klar\u0131 kapsamaktad\u0131r. Docker g\u00f6r\u00fcnt\u00fcs\u00fc olarak Docker container \u00f6rnek g\u00f6sterilebilmektedir. Ayr\u0131ca Docker g\u00f6r\u00fcnt\u00fclerin de\u011fi\u015ftirilmesi m\u00fcmk\u00fcn de\u011fildir. G\u00f6r\u00fcnt\u00fc i\u00e7erisinde herhangi bir de\u011fi\u015fiklik yap\u0131lmak istendi\u011fi zaman yeni bir g\u00f6r\u00fcnt\u00fc haz\u0131rlanmal\u0131d\u0131r. G\u00f6r\u00fcnt\u00fclerin indirilmesi i\u00e7im Docker kay\u0131t defteri kullan\u0131lmaktad\u0131r. Ayn\u0131 zamanda Docker kay\u0131t defterinde g\u00f6r\u00fcnt\u00fcleri depolayabilmek m\u00fcmk\u00fcnd\u00fcr.\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">\u00c7ok Kullan\u0131lan Docker Komutlar\u0131\u00a0<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Container y\u00f6netim s\u00fcre\u00e7lerinin daha kolay bir hal almas\u0131n\u0131 sa\u011flayan Docker platformunda \u00e7ok kullan\u0131lan baz\u0131 temel komutlar bulunmaktad\u0131r. Yayg\u0131n olarak kullan\u0131lan Docker komutlar\u0131na \u00f6rnek verecek olursak;<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Docker Ps: \u00c7al\u0131\u015fmakta olan container i\u00e7in imaj, durum gibi \u00f6nemli bilgilendirmeleri aktarmaktad\u0131r.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Docker Run: \u0130majlar ile container ba\u015flatma amac\u0131na hizmet etmektedir. Kullan\u0131labilecek \u00e7al\u0131\u015ft\u0131rma se\u00e7enekleri ve komutlar hakk\u0131nda bilgi vermektedir.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Docker Stop: \u00c7al\u0131\u015fmaya devam eden konteynerlerin durdurulmas\u0131 s\u0131ras\u0131nda i\u00e7erisinde bulunan s\u00fcre\u00e7leri sorunsuzca sona erdirmektedir.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Docker Pull: Container kay\u0131tlar\u0131ndan al\u0131nan imajlar\u0131n yerel makineye iletilmesini sa\u011flamaktad\u0131r.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Docker Login: Docker kay\u0131t defterine giri\u015f yapabilmek amac\u0131yla kullan\u0131lmaktad\u0131r. Platform i\u00e7erisinde var olan \u00f6zel depolara eri\u015fimi sa\u011flamaktad\u0131r.\u00a0<\/span><\/li>\n<\/ul>\n<h3><span style=\"font-weight: 400;\">Docker ve Sanal Makine Aras\u0131ndaki Farklar Nedir?<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Docker bir uygulamaya ek olarak gerekli olan yap\u0131land\u0131rma dosyalar\u0131n\u0131, ikili dosyalar\u0131 kapsamaktad\u0131r. Var olan her bir container i\u00e7in gerekli bir i\u015fletim sistemi \u00e7ekirde\u011fi bulunmamaktad\u0131r. Bundan \u00f6t\u00fcr\u00fc olduk\u00e7a hafif oldu\u011fu bilinmektedir. Her biri i\u00e7in var olan i\u015fletim sistemi \u00e7ekirde\u011fini kullanmaktad\u0131r. Bundan \u00f6t\u00fcr\u00fc yaln\u0131zca temek kaynaklar\u0131 kullan\u0131p di\u011fer container se\u00e7enekleriyle beraber \u00e7al\u0131\u015ft\u0131r\u0131labilmektedir. Sanal makine ise bir hiperviz\u00f6r \u00fczerinde \u00e7al\u0131\u015fmaktad\u0131r. Her bir sanal makineye ait uygulama, i\u015fletim sistemi kullan\u0131lmaktad\u0131r. B\u00f6ylece sanal makinelerde, Docker container se\u00e7enekleri ile k\u0131yasland\u0131\u011f\u0131nda \u00e7ok daha fazla kaynak gerekmektedir. Bu durum, sistemin yava\u015flamas\u0131na da yol a\u00e7maktad\u0131r.\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Microservice Mimarisinde Docker Neden \u00d6nemli?<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Docker microservice mimarisinde sunucu maliyetlerinin d\u00fc\u015fmesi, sunucu kaynak t\u00fcketiminin azalmas\u0131 gibi katk\u0131lar sa\u011flamaktad\u0131r. Microservice b\u00fcnyesinde var olan k\u00fc\u00e7\u00fck uygulamalara benzerlik g\u00f6stermemektedir. Bundan \u00f6t\u00fcr\u00fc farkl\u0131 ortamlar elde edebilmek i\u00e7in microservice se\u00e7eneklerinin VM \u00f6rneklerine da\u011f\u0131t\u0131m\u0131 sa\u011flanmal\u0131d\u0131r. Ayr\u0131ca bir sanal makinenin t\u00fcm\u00fcyle piyasaya s\u00fcr\u00fclebilmesi, tan\u0131t\u0131m\u0131n\u0131n yap\u0131labilmesi i\u00e7in etkili de\u011fildir. Yani k\u00fc\u00e7\u00fck bir b\u00f6l\u00fcm\u00fcn da\u011f\u0131t\u0131m\u0131 i\u00e7in yeterli olmamaktad\u0131r. Bundan \u00f6t\u00fcr\u00fc Docker ile performans de\u011ferleri en aza indirilmektedir. Bu durum tek bir sunucu i\u00e7erisinde binlerce Microservice da\u011f\u0131t\u0131m\u0131n\u0131n ger\u00e7ekle\u015ftirilebilmesi anlam\u0131na gelmektedir. \u0130kisi aras\u0131ndaki temel fark ise Docker i\u00e7eriklerinin sanal makinelerle k\u0131yasland\u0131\u011f\u0131nda daha az sistem kayna\u011f\u0131 gerektirmesidir. Da\u011f\u0131t\u0131m i\u00e7in gerekli olan yaz\u0131l\u0131m ara\u00e7lar\u0131na g\u00f6re sahip oldu\u011fu \u00f6zellikler de daha fazlad\u0131r. B\u00f6ylece da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinde ekstra bir rahatl\u0131k sa\u011flamaktad\u0131r.\u00a0 <\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uygulama olu\u015fturma, \u00e7al\u0131\u015ft\u0131rma, y\u00f6netme, da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinin \u00e7ok daha basit bir hale gelmesini sa\u011flayan yaz\u0131l\u0131m platformu Docker olarak isimlendirilmektedir. A\u00e7\u0131k kaynakl\u0131 bir yaz\u0131l\u0131m platformu olan Docker, g\u00fcn\u00fcm\u00fczde milyonlarca uygulama taraf\u0131ndan kullan\u0131lmaya devam edilmektedir. Kurulumunun ger\u00e7ekle\u015ftirildi\u011fi bilgisayarlarda, i\u015fletim sistemini sanalla\u015ft\u0131rmaktad\u0131r. Bu sayede uygulama katman\u0131nda soyutlama ger\u00e7ekle\u015fmektedir. Ayn\u0131 zamanda uygulamalar\u0131n altyap\u0131dan ayr\u0131\u015ft\u0131r\u0131lmas\u0131nda da etkili bir role sahip oldu\u011fu [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5163,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5162","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-genel"],"_links":{"self":[{"href":"https:\/\/hostingdunyam.com.tr\/blog\/wp-json\/wp\/v2\/posts\/5162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hostingdunyam.com.tr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hostingdunyam.com.tr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hostingdunyam.com.tr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hostingdunyam.com.tr\/blog\/wp-json\/wp\/v2\/comments?post=5162"}],"version-history":[{"count":1,"href":"https:\/\/hostingdunyam.com.tr\/blog\/wp-json\/wp\/v2\/posts\/5162\/revisions"}],"predecessor-version":[{"id":5164,"href":"https:\/\/hostingdunyam.com.tr\/blog\/wp-json\/wp\/v2\/posts\/5162\/revisions\/5164"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hostingdunyam.com.tr\/blog\/wp-json\/wp\/v2\/media\/5163"}],"wp:attachment":[{"href":"https:\/\/hostingdunyam.com.tr\/blog\/wp-json\/wp\/v2\/media?parent=5162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hostingdunyam.com.tr\/blog\/wp-json\/wp\/v2\/categories?post=5162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hostingdunyam.com.tr\/blog\/wp-json\/wp\/v2\/tags?post=5162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}