Docker Platformu Çalışma Şekli – Kurulumu ve Temel Kullanımı
Önceki yazımda sizlere Docker platformundan genel olarak bahsetmiştim. Bu yazımda ise nasıl çalıştığı, kurulumu ve temel kullanımı ile ilgili bilgi vereceğim.
Uygulama sanallaştırma daha önceden de hayatımızda var olan bir şeydi. Docker aslında bu teknolojiyi getiren ve bize bu imkanı sağlayan bir platformdan ziyade, bu işi otomatize ederek çok daha kolay, hızlı ve efektif olarak işlerimizi yapmamızı sağlayan bir platformdur. Ayrıca open-source ve ücretsiz olması (belirli bir sınır çerçevesinde) bizlere kolaylık sağlıyor.
https://www.docker.com/pricing
Docker platformu üç aşamadan oluşmaktadır.
Docker File: Bunu bir reçete yada yemeğimizi yapmak için gereken tarif olarak düşünebiliriz. Bir uygulama çalıştıracağız ve bu uygulamanın çalışması için gereken şartlar neler, hangi servisler ve yazılımlar (dependencies) gereklidir bu aşamada bunları hazırlarız.
Örneğin bir web server çalıştırmamız gerekiyor. Bunun için PHP, ve Java ortamlarına ihtiyacımız olduğunu düşünelim. Ayrıca Ubuntu OS çalıştırıyoruz ama kullanacağımız web server için Debian sistem gereksinimlerine ihtiyacımız olsun.
Images: Ortamı hazırladık. Her şey hazır. Bu aşamada ise hazırladığımız dosyayı iso dosya formatına çeviriyoruz. İleride kullanmak için elimizde hazır bir image oluyor.
Container: Hazırladığımız web serverı image artık çalıştırmak istiyoruz. Bu aşama da images dosyasının bir kopyası yaratılıyor, container haline çeviriliyor ve çalışmaya başlıyor. Aynı image dosyasından birden fazla container yaratabiliriz. Örneğin beş adet farklı web server çalıştırabiliriz.
Docker platformunun bizlere sağladığı özelliklerden biride bu platformu kullanırken hazır image dosyalarından faydalanabiliriz. Aynı şekilde insanların bizim hazırladığımız image dosyalarından faydalanmalarını sağlayabiliriz. Örneğin uzun uğraşlar sonucu Linux üzerinde çalışabilecek verimli bir web server platformu hazırladık. Bu dosyayı iso image formatına çevirdikten sonra https://hub.docker.com/ sitesine upload edebiliriz. Burası Docker platformu ile ilgili bir community olup şu anda üzerinde 100.000+ fazla hazırlanmış image bulunmaktadır. Çalıştırmak istediğimiz platform veya uygulama için önceden hazırlanmış dosyaları inceleyebilir, kullanabilir ve zaman kazanabiliriz.
Docker sisteminin kurulumu sonra derece kolaydır. Linux dünyası için konuşacak olursak pek çok Linux dağıtımında software repository altyapılarında docker uygulaması mevcuttur. Windows ve Mac OS X işletim sistemleri içinde aşağıdaki adımları izleyerek kurabilirsiniz
Install Docker for Windows
https://docs.docker.com/windows/step_one/
Install Docker Mac OS X
https://docs.docker.com/mac/step_one/
Linux dağıtımları üzerinde kurulum yaparken software repository üzerinde Docker eski versiyonları olabilir. En güncel sürümü kurmak için aşağıdaki adımları izleyebilirsiniz.
Öncelikle “https://get.docker.com/” adresine gidelim. Burada önceden yazılmış uzun bir bash script kodu görülmektedir. Bu kodun görülmesini istedim. Bu script çalıştırdığımız zaman hangi Linux OS kullanıyorsak ona göre docker paketleri indirilir, gerekli şeyler kontrol edilir, kurulum sonrası güncellemelerin yapılabilmesi için software repository OS altına enterge edilir, vs. vs.
Uygulamanın kurulması için sadece kullandığımız Linux dağıtımı üzerinde terminal uygulamasını açarız ve aşağıdaki kodu çalıştırırız
“sudo wget -qO- https://get.docker.com/ | sh” (Tırnak işaretleri olmadan)
Kurulum yapıldıktan sonra OS yeniden başlatırsanız Docker uygulaması çalışmaya başlayacaktır. Yada “sudo service docker start” komutu ile servisi hemen çalıştırabilirsiniz.
Docker versiyon bilgilerini “sudo docker version” ile öğrenebilirsiniz.
Sırayla “sudo apt-get update” ve “sudo apt-get upgrade” ile docker versiyonun yeni versiyonu var ise kurulumunu yapabilirsiniz.
Uygulamayı kullanmak için temel komutlar ise şunlardır;
Örneğin bir script yazdık. Yaptığı şey 1000’den geriye doğru sayıp kapanmak olsun. Adına “Uygulama1” diyelim. Ubuntu OS kullanıyoruz ama bu uygulama Debian altında çalışabilecek bir script. Docker altında bu platform içinde uygulamamızı çalıştırabilmek için aşağıdaki komutu kullanırız.
<sudo docker run -d [Image Name] [App Name]>
“sudo docker run -d Debian Uygulama1”
Bu komutu çalıştırdığımızda Docker önce lokal image dosyalarımızı kontrol edecektir. Eğer Debian isimli bir image bulamazsa “https://hub.docker.com/” üzerinden önceden hazırlanmış bu isimde bir image dosyası varsa onu indirecektir. -d komutu ise yapılan işlemlerin arka planda gözükmeden yapılmasını sağlayacaktır. Böylece scriptimiz Debian sistemi emule edilerek çalışmaya başlayacaktır.
“sudo docker ps” komutu ile çalışan uygulamaların durumunu görebiliriz.
“sudo docker ps -a” komutu ile daha detaylı bilgi alabiliriz. Çalışmayan containerları görebiliriz. Ne zaman durduruldu, ne kadar süredir çalışıyor vs. bilgileri öğrenebiliriz.
“sudo docker logs Uygulama1” container ile ilgili log dosyalarına bakabiliriz.
“sudo docker stop Uygulama1” container çalışmasını durdurabiliriz.
“sudo docker start Uygulama1” container yeniden çalışmasını sağlarız.
“sudo docker rm Uygulama1” ile çalıştırdığımız container uygulamasını silebiliriz. Çalışan bir containerı durdurmadan silemeyiz.
“sudo docker images” hostumuz üzerinde olan lokal image dosyalarını görebiliriz.
“sudo docker search (Image name)” ile https://hub.docker.com/ üzerinde arama yapabiliriz.
“sudo docker pull (Image name)” ile https://hub.docker.com/ üzerinden image dosyası indirebiliriz.
“sudo docker rmi (Image name)” ile ihtiyacımızın olmadığı image dosyalarını silebiliriz.
https://docs.docker.com/ üzerinden data detaylı teknik dökümanlara erişebilirsiniz.
Umarım sizler için yararlı bir makale olmuştur. Okuduğunuz için teşekkür ederim.