Docker Nedir? Docker Kurulum Adımları ve Komutları

Docker, “dünyada en çok kullanılan yazılım konteynerleştirme platformudur” olarak verilebilir. Konteyner içine koyma anlamına gelen konteyner kavramı, Linux Containers üzerine kuruludur. LXC, aynı işletim sistemi içinde birbirinden bağımsız olarak çalışan Linux tabanlı sistemler sağlar. İşletim sistemi seviyesinde sanallaştırma altyapısı sunan sistem, Container teknolojisi ve Hypervisor teknolojisine göre sanallaştırma için gereken disk alanından tasarruf ettirir. Sanal ortamda koşturulan işletim sistemleri 7 GB disk alanına ve 2 GB RAM’e ihtiyaç duyar.

docker-nedir-docker-kurulumu-docker-kullanimi

Web uygulamalarının performanslarını arttıran Docker, kullanıcılara paket programlar da yapabiliyor. Farklı konfigürasyonların çalışmasını sağlayan yazılım, konteyner araçlarına sahiptir.

Docker’a Giriş

Docker’a giriş yapmak gerekirse, LXC’nin zengin mirası üzerine oturmuş olduğu söylenebilir. LXC’den farkı ise manuel olarak yapılabilen işlemleri paketleyerek standardize etmiş olmasıdır. LXC’nin sunmuş olduğu fonksiyonları ve konfigürasyonlarının detaylarından arındırmıştır. En önemli özelliği ise Container yapısını metin bazlı Image formatıyla tanımlamış olmasıdır. Image formatı kullanılarak aynı özellikte Container yaratılabilir. Başka kişilerle deRegistry uygulaması üzerinden paylaşım yapılabilir ve genişletilebilir.

Açık kaynak kodlu verimlilik aracı olarak da tanımlanabilen Docker, yazılım geliştirme ve dağıtım süreci içerisinde farklılık yaratır. Farklı konteynerler sayesinde uygulama kodları ve bunların birbirlerine olan bağlılıklarını içerir. Yazılım, bulunduğu ortamdan ayrı olarak işletim sistemi geliştirir ve bu işletim sisteminden bağımsız olarak çalıştırılabilir.  

docker-ozellikleri

Docker Kullanmanın Başlıca Avantajları

Docker kullanmanın avantajları oldukça fazladır. Hypervisor kullanmayan ve tam yüklü bir işletim sistemi barındırmayan yazılım, bunun sayesinde saniyeler içerisinde çalışarak hızlıca kullanıma hazır olur. Yazılımların tüm altyapı gereksinimlerini versiyonlama yaparak saklayan yazılımın en önemli özelliklerinden biri de budur. Yazılım farklı servis sağlayıcıları üzerinde gezindirilebilir ve çoğaltılabilir.

Az kaynak kullanarak büyük işler yapabilen Docker, bir konteyner teknolojisidir. Uygulamalarda beklenmeyen trafiklerin oluşması durumunda yüksek trafiğe rağmen çok kısa sürede binlerce konteyneri hazır hale getirir. Aynı zamanda uygulamaların standart bir zemine oturtulmasına ve her platformda çalışabilmesine olanak sağlar.

Docker gittikçe artan bulut gereksinimlerine cevap verebilmek için oluşturulmuş PaaS sağlayıcılardan biridir. Daha az maliyetli olması ve daha yüksek performans sunması sayesinde kullanımı giderek artan bir yazılımdır.

docker-ne-icin-kullanilir

Uygulamaların koştuğu platformların DEV, UAT ve PROD ortamlarında da aynı olmasını sağlayan yazılım, platform farkından kaynaklanan değişiklikleri de ortadan kaldırır. PROD ortamında Docker Container’da operasyon esnasında yapılan herhangi bir değişiklik geliştiricinin bilgisayarına yeni bir Image olarak aktarılabilir.

Geliştirme ortamı standardizasyonu da sağlayan yazılım, projelere göre farklılık gösterir. Aynı projenin farklı müşterilerde bulunan farklı kurulumları da farklı bileşenler içerir. Bu yüzden problemler çıkabilir. Docker ise, farklı sürümlerde bulunan kurulumları geliştirici ortamlarda tekrarlayabilmek amacıyla geliştirici ortamlarını sanal sunucularda tutar.

Docker kurulumu için; sanal makinaların ortalama 20 GB olması, tek bir projenin 5 kişide kurulu olması durumunda her geliştiricinin bilgisayarında 100 GB alan gerekecektir.

Docker işletim sisteminin sahip olduğu çekirdeğiyle aynı seviyede bir sanallaştırma sağlar. Hypervisor ile sağlanan sanallaştırmaya göre daha az maliyetli ve daha hızlı bir sistem sunarak yazılımcıların işlerini kolaylaştırır. Kurulan bir sanallaştırma altyapısında yeni bir sanal makinanın sisteme eklenmesi, işletim sisteminin hypervisor üzerinde boot edilmesi gerekir ve bu işlemleri25 saniye içerisinde yapar.

Yazılım ile birlikte Tenancy de uygulama kodundan kaldırılabilir. Tek bir Tenant varmış gibi çalışacak şekilde tasarlanan uygulama, her bir Tenant için Image’den yeni bir Container alır ve Tenant ile ilişkilendirir. Bu sayede Tenant yönetimi karmaşık seviyeden basit bir seviyeye çekilmiş olur. Daha iyi yönetilebilir altyapı, Docker yazılımı sayesinde mümkün olur.

Docker Ölçeklenebilirliği Artırır

Yazılımın en önemli avantajlarından biri ölçeklenebilirliği arttıran Docker olmasıdır. Talebe dayalı olarak ölçeklendirilebilir ve kullanıcılara daha güvenli bir ortam sağlar. Docker swarm modu sayesinde bu işlemler kolayca yapılır. Swarm, uygulamayı dağıtmayı sağlayan ve birlikte çalışan makine kümesine verilen addır. Kurulumla birlikte gelen bu yazılım sayesinde de birçok avantaj sağlanır. Bunlardan bazıları yük dengeleme, konteynerler arası durum yönetimi ve ölçeklenebilirliktir.

docker indir

Docker Uygulamaların Performansını Artırır

Docker uygulamaların performansını arttırma etkisi sayesinde de oldukça yararlı bir yazılımdır. Kullanışlı olan konteyner sistemi sayesinde uygulama yalnızca ana bilgisayar üzerinde çalışmayan ögelerle gönderilebilir. Bu sayede programın genel boyutları azaltılabilir ve performans artar.

Sanal sunucu de alternatif olarak kullanılabilir ve sanal bir işletim sisteminin yanında uygulamaların çalışması gerekli olan kütüphaneler, bağlılıklar ve kodlar içerir. Sunucu üzerinde bu verilerin daha fazla yer tutması, bu yazılımının dezavantajı olarak değerlendirilebilir. Buna karşın, performansın iyileştirilmesi için konteyner ve sanal makineler bir arada kullanılabilir.

Konteynerlar, Sunucular Arası Taşınabilirliği Kolaylaştırırlar

Kayda değer faydalarından biri olan konteynerlerin sunucular arası taşınabilirliği kolaylaştırması yazılımcıların uygulamalarını kolay şekilde yerleştirebilmelerine olanak tanır. Sunucular arası taşınabilirliğin kolaylaşması konteynerler aracılığıyla olyur. Yazılımcıların kendi gelişme ortamlarında çalıştırdıkları programlar farklı bir ortamda sorun yaratabilir. Bu özellik sayesinde bu sorunun önüne geçilebilir.

Doğru ve güvenilir testler yapmak için de konteynerler kullanılır. Yazılım, esnek özelliği sayesinde çoklu platformlarda çalışabilen ürünler geliştirir. Potansiyel müşteri havuzlarını da arttırabilir. Bu sayede, daha satılabilir ürünler ortaya çıkar.

Docker Nasıl Kurulur?

Docker kurulumu CentOS 6, CentOS 7 ve Ubuntu sunucuları üzerine yapılabilir. Kurulum işlemi için ilk olarak sunucuda SSH kullanılmalı ve giriş yapılmalıdır. Daha sonra “Root” kullanıcı olarak sistem yükseltilmelidir.

docker-fiyatlari

CentOS kullanıcılarının Docker kurmak için yapması gereken “yum -y update” ve reboot komutunu girmektir. Daha sonra sunucuda tekrardan SSH kullanarak giriş yapılmalı ve komut kullanılarak “Extra Packages for Enterprise Linux” deposu eklenmelidir. Bunun içi girilecek komut; “yum -y install epel-release” komutudur. Ekleme işleminin doğru yapılıp yapılmadığı ise “yum repolist” komutu ile kontrol edilmelidir.

Kontrol işleminden sonra depo listesi şu şekilde çıkmalıdır: “epel Extra Packages for Enterprise Linux 6 – x86_64”. Bu görüldükten sonra Docker kurulumuna devam etmek için “yum -y install docker-io” komutu girilmelidir.  Servisi başlatmak için girilmesi gereken komut “servise docker start” olacaktır. Daha sonra yapılan kurulumun doğru olup olmadığının kontrolü “docker run fedora/bin/echo merhaba dunya” komutu ile yapılır.

Komut satırında “merhaba dunya” yazısı olmalıdır. Yazılım sistemi her açıldığında yazılacak satır “chkconfig docker on” olacaktır. Ubuntu kullanıcılarının yazacağı satır ise “apt-get update” yazısıdır.  AUFS dosya sistemini kurmak için yazılacak satır “apt-get install linux-image-extra- ‘uname -r’dir. Komut girildikten sonra alınacak mesaj ise; “A new version of /boot/grub/menu” komutudur.

lt is available, but the version installed currently has been locally modified” olacaktır.  Docker depo anahtarını ekleyebilmek için “apt-key adv –keyserver hkp://p80.pool.sks-keyservers.net:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D” komutu girilmelidir.

Sanal sunucular ile web uygulamaların yerleştirilebilmesi, sorunları beraberinde getirebilir. bulut sunucu çoklu sunuculara ölçeklemek sıkıntılı olabilir. Docker konteynerleri esnek çözümler sunabilir ve problemlerin üstesinden gelebilir. Yazılımın en önemli avantajları; Swarm modunda artan bir ölçeklenebilirlik sunması, uygulamaların performanslarını arttırması, sunucular arası taşınabilirliği kolaylaştırması ve yerleştirmeyi pratikleştirmesi olarak sayılabilir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

IPTV Nedir? ipTV Özellikleri Nelerdir?

IDE Nedir? En iyi 6 IDE Editörü