{"id":31030,"date":"2021-01-29T10:36:45","date_gmt":"2021-01-29T07:36:45","guid":{"rendered":"https:\/\/www.natro.com\/blog\/?p=31030"},"modified":"2021-01-29T10:37:03","modified_gmt":"2021-01-29T07:37:03","slug":"docker-nedir-nasil-kurulur-avantajlari-nelerdir","status":"publish","type":"post","link":"https:\/\/www.natro.com\/blog\/docker-nedir-nasil-kurulur-avantajlari-nelerdir\/","title":{"rendered":"Docker nedir, nas\u0131l kurulur, avantajlar\u0131 nelerdir?"},"content":{"rendered":"\n<p>Docker nedir? | Yaz\u0131l\u0131m uzmanlar\u0131, web uygulamalar\u0131n\u0131 i\u015fletim sistemi \u00fczerinde bulunan sanal makineler (VM) ve hypervisorlar arac\u0131l\u0131\u011f\u0131yla geli\u015ftirirler ve \u00e7al\u0131\u015ft\u0131r\u0131rlar. Ancak bu y\u00f6ntem program\u0131n h\u0131z\u0131n\u0131, \u00f6l\u00e7eklenebilirli\u011fini ve ta\u015f\u0131nabilirli\u011fini negatif y\u00f6nde etkileyebilir.<\/p>\n\n\n\n<p>Bu a\u015famada \u201cDocker\u201d kullan\u0131\u015fl\u0131 bir alternatif sunar. Docker, web uygulamalar\u0131n\u0131n performanslar\u0131n\u0131 art\u0131ran konteyner ara\u00e7lar\u0131n\u0131 i\u00e7erir. Ayr\u0131ca, kullan\u0131c\u0131n\u0131n paket program yapmas\u0131na olanak tan\u0131yarak uygulaman\u0131n farkl\u0131 konfig\u00fcrasyonlarla \u00e7al\u0131\u015fabilmesine olanak tan\u0131r. Bu i\u00e7erik ile Docker hakk\u0131nda daha detayl\u0131 bir \u015fekilde bilgi sahibi olacak, Docker kullanman\u0131n avantajlar\u0131n\u0131 g\u00f6recek ve kurulum a\u015famalar\u0131n\u0131 \u00f6\u011freneceksiniz.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-docker-a-giri\"><span id=\"dockera-giris\">Docker\u2019a Giri\u015f<\/span><\/h2>\n\n\n\n<p>Docker; a\u00e7\u0131k kaynak kodlu verimlilik arac\u0131d\u0131r. Yaz\u0131l\u0131m geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcrecinde farkl\u0131l\u0131k yaratan bir metot olarak kabul g\u00f6r\u00fcr. Docker bu fark\u0131 \u201ckonteynerler\u201d arac\u0131l\u0131\u011f\u0131 ile ger\u00e7ekle\u015ftirir. Konteynerler, uygulama kodlar\u0131n\u0131 ve bunlar\u0131n ba\u011fl\u0131l\u0131klar\u0131n\u0131 i\u00e7eren yaz\u0131l\u0131m birimleridir. Yaz\u0131l\u0131m\u0131 bulundu\u011fu ortamdan izole ederek, geli\u015ftirildi\u011fi i\u015fletim sisteminden ba\u011f\u0131ms\u0131z olarak \u00e7al\u0131\u015ft\u0131r\u0131labilmesini sa\u011flar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-docker-kullanman-n-ba-l-ca-avantajlar\"><span id=\"docker-kullanmanin-baslica-avantajlari\">Docker Kullanman\u0131n Ba\u015fl\u0131ca Avantajlar\u0131<\/span><\/h2>\n\n\n\n<p>\u0130lk bak\u0131\u015fta konteyner kullanarak web uygulamalar\u0131n\u0131 olu\u015fturmak ve da\u011f\u0131tmak \u00e7ok \u00f6nemli g\u00f6r\u00fcnmese de Docker kullan\u0131m\u0131 yaz\u0131l\u0131mc\u0131ya bir\u00e7ok avantaj sunar. Bu avantajlar\u0131n ba\u015fl\u0131calar \u015fu \u015fekildedir:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-docker-l-eklenebilirli-i-art-r-r\"><span id=\"docker-olceklenebilirligi-artirir\">Docker \u00d6l\u00e7eklenebilirli\u011fi Art\u0131r\u0131r<\/span><\/h3>\n\n\n\n<p>Uygulaman\u0131z\u0131 Tek Hata Noktas\u0131 (SPF) yerine talebe dayal\u0131 olarak \u00f6l\u00e7eklendirebilirsiniz. Bu son kullan\u0131c\u0131lara \u00e7ok daha g\u00fcvenilir bir program sa\u011flaman\u0131za yard\u0131mc\u0131 olur. \u201c<strong>Docker swarm<\/strong>\u201d modu bu i\u015flemi ve \u00e7ok daha fazlas\u0131n\u0131 yapabilmenize olanak tan\u0131r.<\/p>\n\n\n\n<p>\u201cSwarm\u201d basit\u00e7e uygulaman\u0131z\u0131 da\u011f\u0131tman\u0131z\u0131 sa\u011flayan, birlikte \u00e7al\u0131\u015fan Docker makine k\u00fcmesidir. Bu \u00f6zelli\u011fi ek bir yaz\u0131l\u0131ma ihtiya\u00e7 duymadan kullanabilirsiniz. Bu yaz\u0131l\u0131m her Docker kurulumu ile birlikte gelir. Bu \u00f6zellik beraberinde \u00e7ok say\u0131da avantaj getirir. Y\u00fck dengeleme, kusursuz \u00f6l\u00e7elebilirlik, konteynerler aras\u0131 durum y\u00f6netimi bu avantajlar aras\u0131ndad\u0131r.<\/p>\n\n\n\n<p>Web uygulaman\u0131z zaman i\u00e7inde b\u00fcy\u00fcyece\u011fi i\u00e7in, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131layacak \u015fekilde \u00f6l\u00e7eklenebilirlik sunmak size uzun vadede b\u00fcy\u00fck kolayl\u0131k sa\u011flayacakt\u0131r.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-docker-uygulamalar-n-performans-n-art-r-r\"><span id=\"docker-uygulamalarin-performansini-artirir\">Docker Uygulamalar\u0131n Performans\u0131n\u0131 Art\u0131r\u0131r<\/span><\/h3>\n\n\n\n<p>Docker, uygulaman\u0131z\u0131n performans\u0131n\u0131 artt\u0131rman\u0131za da yard\u0131mc\u0131 olur. Konteyner sistemi bu ama\u00e7la olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r. Konteynerler, uygulaman\u0131z\u0131 sadece ana bilgisayar \u00fczerinde \u00e7al\u0131\u015fmayan \u00f6geler ile yollaman\u0131z\u0131 m\u00fcmk\u00fcn k\u0131lar. Bu da program\u0131n\u0131z\u0131n genel boyutlar\u0131n\u0131 azaltmay\u0131 sa\u011flar ve performans\u0131 art\u0131r\u0131r.<\/p>\n\n\n\n<p>\u00d6te yandan alternatif olarak kullan\u0131labilecek olan bir sanal makine (VM), sanal bir i\u015fletim sisteminin yan\u0131 s\u0131ra uygulaman\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in gereken t\u00fcm k\u00fct\u00fcphaneleri, ba\u011fl\u0131l\u0131klar\u0131 ve kodu da i\u00e7ermelidir. Dolay\u0131s\u0131yla sunucu \u00fczerinde daha fazla yer tutacakt\u0131r. Ancak baz\u0131 durumlarda daha iyi bir performans yakalamak i\u00e7in konteyner ve sanal makineleri bir arada kullanabilirsiniz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-konteynerlar-sunucular-aras-ta-nabilirli-i-kolayla-t-r-rlar\"><span id=\"konteynerlar-sunucular-arasi-tasinabilirligi-kolaylastirirlar\">Konteynerlar, Sunucular Aras\u0131 Ta\u015f\u0131nabilirli\u011fi Kolayla\u015ft\u0131r\u0131rlar<\/span><\/h3>\n\n\n\n<p>Docker\u2019lar\u0131n en g\u00f6ze \u00e7arpan faydas\u0131, yaz\u0131l\u0131mc\u0131lar\u0131n uygulamalar\u0131n\u0131 olduk\u00e7a kolay \u015fekilde yerle\u015ftirebilmeleridir. Konteynerler, sunucular aras\u0131 ta\u015f\u0131nabilirli\u011fi \u00e7ok daha kolay hale getirir. Yaz\u0131l\u0131mc\u0131lar s\u0131k\u00e7a kendi geli\u015ftirme ortamlar\u0131nda sorunsuz \u00e7al\u0131\u015fan program\u0131n, ba\u015fka bir ortama yerle\u015ftirildikten sonra sorun \u00e7\u0131karmas\u0131 problemi ile kar\u015f\u0131la\u015f\u0131r. Bu sorunu ya\u015fam\u0131\u015f olmak, bu \u00f6zelli\u011fin \u00f6nemini kavramay\u0131 art\u0131r\u0131r.<\/p>\n\n\n\n<p>Konteyner ile \u00e7ok daha do\u011fru ve g\u00fcvenilir testler yapmak m\u00fcmk\u00fcnd\u00fcr. Ayr\u0131ca \u00e7ok daha esnek ve \u00e7oklu platformlarda \u00e7al\u0131\u015fabilen \u00fcr\u00fcnler geli\u015ftirerek, potansiyel m\u00fc\u015fteri havuzunuzu da art\u0131rabilirsiniz. Sonu\u00e7ta da \u00e7ok daha \u201csat\u0131labilir\u201d \u00fcr\u00fcnler geli\u015ftirebilirsiniz.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-docker-nas-l-kurulur\"><span id=\"docker-nasil-kurulur\">Docker Nas\u0131l Kurulur?<\/span><\/h2>\n\n\n\n<p>Docker, CentOS 6, CentOS 7 ve Ubuntu sunucular\u0131 \u00fczerinde kurulabilir. Bu i\u015flem i\u00e7in \u00f6nce sunucunuzda SSH kullanarak \u201clog in\u201d olman\u0131z gerekir. \u00d6te yandan da \u201cRoot\u201d kullan\u0131c\u0131 olarak sistemi y\u00fckseltmelisiniz.<\/p>\n\n\n\n<p><strong>CentOS <\/strong>kullan\u0131c\u0131s\u0131 iseniz a\u015fa\u011f\u0131daki komutu girmelisiniz:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>yum -y update<\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>reboot<\/p><\/blockquote>\n\n\n\n<p>Ard\u0131ndan yeniden sunucunuzda SSH kullanarak \u201clog in\u201d olup a\u015fa\u011f\u0131daki komutu kullanarak \u201cExtra Packages for Enterprise Linux (EPEL)\u201d deposunu eklemelisiniz:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>yum -y install epel-release<\/p><\/blockquote>\n\n\n\n<p>A\u015fa\u011f\u0131daki komutu yazarak ekleme i\u015fleminin do\u011fru \u015fekilde yap\u0131ld\u0131\u011f\u0131n\u0131 do\u011frulayabilirsiniz:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>yum repolist<\/p><\/blockquote>\n\n\n\n<p>Bu komut sonras\u0131 depo listesi \u00e7\u0131k\u0131\u015f\u0131 a\u015fa\u011f\u0131daki gibi olmal\u0131d\u0131r:<\/p>\n\n\n\n<p><strong>epel Extra Packages for Enterprise Linux 6 \u2013 x86_64<\/strong><\/p>\n\n\n\n<p>Bu sat\u0131r\u0131 g\u00f6r\u00fcnce Docker kurulumu ile devam etmek i\u00e7in a\u015fa\u011f\u0131daki komutu girin:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>yum -y install docker-io<\/p><\/blockquote>\n\n\n\n<p>Ard\u0131ndan servisi ba\u015flatmak i\u00e7in a\u015fa\u011f\u0131daki sat\u0131r\u0131 yaz\u0131n:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>service docker start<\/p><\/blockquote>\n\n\n\n<p>Son olarak kurulumun do\u011fru oldu\u011funu kontrol etmek amac\u0131yla \u015fu sat\u0131rlar\u0131 yaz\u0131n:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>docker run fedora \/bin\/echo merhaba dunya<\/p><\/blockquote>\n\n\n\n<p>Komut sat\u0131r\u0131nda \u201cmerhaba dunya\u201d yazmal\u0131d\u0131r. Docker\u2019\u0131, sistemi her a\u00e7t\u0131\u011f\u0131n\u0131zda otomatik olarak \u00e7al\u0131\u015ft\u0131rmak istiyorsan\u0131z, a\u015fa\u011f\u0131daki sat\u0131r\u0131 da yazman\u0131z gerekir:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>chkconfig docker on<\/p><\/blockquote>\n\n\n\n<p>Ubuntu kullan\u0131c\u0131s\u0131 iseniz, yukar\u0131dakiler yerine a\u015fa\u011f\u0131daki komutlar\u0131 yazmal\u0131s\u0131n\u0131z:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>apt-get update<\/p><p>apt-get upgrade<\/p><\/blockquote>\n\n\n\n<p>Ard\u0131ndan AUFS dosya sistemini kurmak i\u00e7in \u015fu sat\u0131rlar\u0131 yaz\u0131n:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>apt-get install linux-image-extra-`uname -r`<\/p><\/blockquote>\n\n\n\n<p>Bu komut sonras\u0131 a\u015fa\u011f\u0131daki mesaj\u0131 alman\u0131z gerekir:<\/p>\n\n\n\n<p>\u201cA new version of \/boot\/grub\/menu. lst is available, but the version installed currently has been locally modified.<\/p>\n\n\n\n<p>What would you like to do about menu.lst?\u201d<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131daki komutlar\u0131 girerek Docker depo anahtar\u0131n\u0131z\u0131 ekleyin:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>apt-key adv \u2013keyserver hkp:\/\/p80.pool.sks-keyservers.net:80 \u2013recv-keys 58118E89F3A912897C070ADBF76221572C52609D<\/p><\/blockquote>\n\n\n\n<p>Sonra, Docker deponuzu \u201cGeli\u015fmi\u015f Paketleme Arac\u0131 (APT)\u201d kaynak listesine ekleyin:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>sh -c \u201cecho deb https:\/\/apt.dockerproject.org\/repo ubuntu-trusty main > \/etc\/apt\/sources.list.d\/docker.list\u201d<\/p><\/blockquote>\n\n\n\n<p>Ard\u0131ndan Doker kurulumu i\u00e7in a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 yaz\u0131n:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>apt-get update<\/p><p>apt-get install docker-engine<\/p><\/blockquote>\n\n\n\n<p>Son olarak a\u015fa\u011f\u0131daki sat\u0131rlar ile kurulumu kontrol edin:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>docker run ubuntu \/bin\/echo merhaba dunya<\/p><\/blockquote>\n\n\n\n<p>Bu a\u015famadan sonra sadece \u201cmerhaba dunya\u201d mesaj\u0131n\u0131 g\u00f6rmeniz, her \u015feyin do\u011fru \u015fekilde i\u015fledi\u011fini g\u00f6sterir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-sonu\"><span id=\"sonuc\">Sonu\u00e7<\/span><\/h2>\n\n\n\n<p>Sanal Makineler (VM) ile web uygulamalar\u0131n\u0131n yerle\u015ftirilmesi bir\u00e7ok sebeple s\u0131k\u0131nt\u0131l\u0131 olabilmektedir. VM\u2019leri \u00e7oklu sunuculara \u00f6l\u00e7eklemek zordur. Performans ve ta\u015f\u0131nabilirlik a\u00e7\u0131s\u0131ndan bir\u00e7ok problem \u00e7\u0131karabilirler. Docker konteynerleri, esnek \u00e7\u00f6z\u00fcmler sunar ve bu problemlerin \u00fcstesinden gelir. Bu i\u00e7erik ile Docker\u2019\u0131n sundu\u011fu ba\u015fl\u0131ca \u00fc\u00e7 avantaj\u0131 vurgulad\u0131k:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Swarm modunda artan bir \u00f6l\u00e7eklenebilirlik sunar.<\/li><li>Kullan\u0131m\u0131 uygulamalar\u0131n performans\u0131n\u0131 art\u0131r\u0131r.<\/li><li>Sunucular aras\u0131 ta\u015f\u0131nabilirli\u011fi kolayla\u015ft\u0131rarak, yerle\u015ftirmeyi pratikle\u015ftirir.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"Docker nedir? | Yaz\u0131l\u0131m uzmanlar\u0131, web uygulamalar\u0131n\u0131 i\u015fletim sistemi \u00fczerinde bulunan sanal makineler (VM) ve hypervisorlar arac\u0131l\u0131\u011f\u0131yla geli\u015ftirirler&hellip;\n","protected":false},"author":7,"featured_media":31033,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[652],"tags":[1319,1318],"class_list":{"0":"post-31030","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-nedir","8":"tag-docker-nasil-kurulur","9":"tag-docker-nedir"},"_links":{"self":[{"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/posts\/31030","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/comments?post=31030"}],"version-history":[{"count":0,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/posts\/31030\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/media\/31033"}],"wp:attachment":[{"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/media?parent=31030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/categories?post=31030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/tags?post=31030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}