Docker nedir? | Yazılım uzmanları, web uygulamalarını işletim sistemi üzerinde bulunan sanal makineler (VM) ve hypervisorlar aracılığıyla geliştirirler ve çalıştırırlar. Ancak bu yöntem programın hızını, ölçeklenebilirliğini ve taşınabilirliğini negatif yönde etkileyebilir.

Bu aşamada “Docker” kullanışlı bir alternatif sunar. Docker, web uygulamalarının performanslarını artıran konteyner araçlarını içerir. Ayrıca, kullanıcının paket program yapmasına olanak tanıyarak uygulamanın farklı konfigürasyonlarla çalışabilmesine olanak tanır. Bu içerik ile Docker hakkında daha detaylı bir şekilde bilgi sahibi olacak, Docker kullanmanın avantajlarını görecek ve kurulum aşamalarını öğreneceksiniz.

Docker’a Giriş

Docker; açık kaynak kodlu verimlilik aracıdır. Yazılım geliştirme ve dağıtım sürecinde farklılık yaratan bir metot olarak kabul görür. Docker bu farkı “konteynerler” aracılığı ile gerçekleştirir. Konteynerler, uygulama kodlarını ve bunların bağlılıklarını içeren yazılım birimleridir. Yazılımı bulunduğu ortamdan izole ederek, geliştirildiği işletim sisteminden bağımsız olarak çalıştırılabilmesini sağlar.

Docker Kullanmanın Başlıca Avantajları

İlk bakışta konteyner kullanarak web uygulamalarını oluşturmak ve dağıtmak çok önemli görünmese de Docker kullanımı yazılımcıya birçok avantaj sunar. Bu avantajların başlıcalar şu şekildedir:

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

Uygulamanızı Tek Hata Noktası (SPF) yerine talebe dayalı olarak ölçeklendirebilirsiniz. Bu son kullanıcılara çok daha güvenilir bir program sağlamanıza yardımcı olur. “Docker swarm” modu bu işlemi ve çok daha fazlasını yapabilmenize olanak tanır.

“Swarm” basitçe uygulamanızı dağıtmanızı sağlayan, birlikte çalışan Docker makine kümesidir. Bu özelliği ek bir yazılıma ihtiyaç duymadan kullanabilirsiniz. Bu yazılım her Docker kurulumu ile birlikte gelir. Bu özellik beraberinde çok sayıda avantaj getirir. Yük dengeleme, kusursuz ölçelebilirlik, konteynerler arası durum yönetimi bu avantajlar arasındadır.

Web uygulamanız zaman içinde büyüyeceği için, kullanıcılarınızın ihtiyaçlarını karşılayacak şekilde ölçeklenebilirlik sunmak size uzun vadede büyük kolaylık sağlayacaktır.

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

Docker, uygulamanızın performansını arttırmanıza da yardımcı olur. Konteyner sistemi bu amaçla oldukça kullanışlıdır. Konteynerler, uygulamanızı sadece ana bilgisayar üzerinde çalışmayan ögeler ile yollamanızı mümkün kılar. Bu da programınızın genel boyutlarını azaltmayı sağlar ve performansı artırır.

Öte yandan alternatif olarak kullanılabilecek olan bir sanal makine (VM), sanal bir işletim sisteminin yanı sıra uygulamanın çalışması için gereken tüm kütüphaneleri, bağlılıkları ve kodu da içermelidir. Dolayısıyla sunucu üzerinde daha fazla yer tutacaktır. Ancak bazı durumlarda daha iyi bir performans yakalamak için konteyner ve sanal makineleri bir arada kullanabilirsiniz.

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

Docker’ların en göze çarpan faydası, yazılımcıların uygulamalarını oldukça kolay şekilde yerleştirebilmeleridir. Konteynerler, sunucular arası taşınabilirliği çok daha kolay hale getirir. Yazılımcılar sıkça kendi geliştirme ortamlarında sorunsuz çalışan programın, başka bir ortama yerleştirildikten sonra sorun çıkarması problemi ile karşılaşır. Bu sorunu yaşamış olmak, bu özelliğin önemini kavramayı artırır.

Konteyner ile çok daha doğru ve güvenilir testler yapmak mümkündür. Ayrıca çok daha esnek ve çoklu platformlarda çalışabilen ürünler geliştirerek, potansiyel müşteri havuzunuzu da artırabilirsiniz. Sonuçta da çok daha “satılabilir” ürünler geliştirebilirsiniz.

Docker Nasıl Kurulur?

Docker, CentOS 6, CentOS 7 ve Ubuntu sunucuları üzerinde kurulabilir. Bu işlem için önce sunucunuzda SSH kullanarak “log in” olmanız gerekir. Öte yandan da “Root” kullanıcı olarak sistemi yükseltmelisiniz.

CentOS kullanıcısı iseniz aşağıdaki komutu girmelisiniz:

yum -y update

reboot

Ardından yeniden sunucunuzda SSH kullanarak “log in” olup aşağıdaki komutu kullanarak “Extra Packages for Enterprise Linux (EPEL)” deposunu eklemelisiniz:

yum -y install epel-release

Aşağıdaki komutu yazarak ekleme işleminin doğru şekilde yapıldığını doğrulayabilirsiniz:

yum repolist

Bu komut sonrası depo listesi çıkışı aşağıdaki gibi olmalıdır:

epel Extra Packages for Enterprise Linux 6 – x86_64

Bu satırı görünce Docker kurulumu ile devam etmek için aşağıdaki komutu girin:

yum -y install docker-io

Ardından servisi başlatmak için aşağıdaki satırı yazın:

service docker start

Son olarak kurulumun doğru olduğunu kontrol etmek amacıyla şu satırları yazın:

docker run fedora /bin/echo merhaba dunya

Komut satırında “merhaba dunya” yazmalıdır. Docker’ı, sistemi her açtığınızda otomatik olarak çalıştırmak istiyorsanız, aşağıdaki satırı da yazmanız gerekir:

chkconfig docker on

Ubuntu kullanıcısı iseniz, yukarıdakiler yerine aşağıdaki komutları yazmalısınız:

apt-get update

apt-get upgrade

Ardından AUFS dosya sistemini kurmak için şu satırları yazın:

apt-get install linux-image-extra-`uname -r`

Bu komut sonrası aşağıdaki mesajı almanız gerekir:

“A new version of /boot/grub/menu. lst is available, but the version installed currently has been locally modified.

What would you like to do about menu.lst?”

Aşağıdaki komutları girerek Docker depo anahtarınızı ekleyin:

apt-key adv –keyserver hkp://p80.pool.sks-keyservers.net:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D

Sonra, Docker deponuzu “Gelişmiş Paketleme Aracı (APT)” kaynak listesine ekleyin:

sh -c “echo deb https://apt.dockerproject.org/repo ubuntu-trusty main > /etc/apt/sources.list.d/docker.list”

Ardından Doker kurulumu için aşağıdaki satırları yazın:

apt-get update

apt-get install docker-engine

Son olarak aşağıdaki satırlar ile kurulumu kontrol edin:

docker run ubuntu /bin/echo merhaba dunya

Bu aşamadan sonra sadece “merhaba dunya” mesajını görmeniz, her şeyin doğru şekilde işlediğini gösterir.

Sonuç

Sanal Makineler (VM) ile web uygulamalarının yerleştirilmesi birçok sebeple sıkıntılı olabilmektedir. VM’leri çoklu sunuculara ölçeklemek zordur. Performans ve taşınabilirlik açısından birçok problem çıkarabilirler. Docker konteynerleri, esnek çözümler sunar ve bu problemlerin üstesinden gelir. Bu içerik ile Docker’ın sunduğu başlıca üç avantajı vurguladık:

  • Swarm modunda artan bir ölçeklenebilirlik sunar.
  • Kullanımı uygulamaların performansını artırır.
  • Sunucular arası taşınabilirliği kolaylaştırarak, yerleştirmeyi pratikleştirir.
Yazar

Türkiye - İstanbul Merkezli natro.com; 1999 yılından bu yana Alan adı servisleri, web Hosting, sunucu kiralama ve barındırma, Güvenlik çözümleri gibi ürünlerle uluslararası web hosting sektöründe hizmet vermektedir.

Yorum Yazın