top of page

Docker Nedir?

Docker Nedir?


Merhaba,


Bu yazımda sizlere Docker ile ilgili önemli bilgiler paylaşmak istiyorum. Docker Nedir?, Image ve Container Nedir?, DockerFile ve DockerHub Nedir? ve Temel Docker Komutlarından bahsetmek istiyorum.



Docker Nedir?


Docker, bir uygulamanın tüm bağımlılıklarını standart bir formatta paketlemek, dağıtmak ve çalıştırmak için kullanılan bir platformdur. Aynı işletim sistemi üzerinde çok fazla sayıda birbirinden izole ve bağımsız containerlar sayesinde sanallaştırma sağlayan bir teknolojidir. Docker; Linux, MacOS, Windows işletim sistemlerinde container oluşturmak için kullanılır.


Docker, bu containerların oluşturulması, paylaşılması, dağıtılması ve çalıştırılması için bir araçlar kümesi sağlar. Web uygulamalarının kolayca kurulumunu, test edilmesini ve çalışmasını sağlar. Bunun yanında da sunucu maliyetlerini önemli ölçüde azaltmaktadır. Docker'da basit anlamda bir tane Linux işletim sistemi vardır. İçerde ise dosyaların atıldığı bir tane sistem vardır. Yani işletim sistemi maliyeti sıfırdır.


Docker, uygulamaları depolamak, container oluşturmak için sanallaştırmayı kullandığından sanal makinelere benzerlik gösterebilir. Fakat container ile sanal makine(VM) arasında farklılıklar vardır. En önemli farklılık; Docker containerların sanal makinelerden daha hafif, daha hızlı ve kaynak açısından daha verimli olmasıdır.


Bunların sonucunda Containerı biraz inceleyelim.



Container Nedir?


docker container

Docker tarafından yönetilen processleri, servisleri, ağı olan izole edilmiş bir çalışma ortamıdır. Bu ortam, bir uygulamanın ve tüm bağımlılıkların bir araya getirilmesini sağlar ve bu sayede uygulamanın herhangi bir ortamda sorunsuz bir şekilde çalışmasını sağlar. Container aslında bir kapsülleme işlemidir.


Containerlar yukarıda da bahsettiğimiz gibi sanal makinelerden farklıdırlar. Sanal makinelerin kendisine ait bir işletim sistemi vardır ve bu işletim sistemi üzerinde uygulama çalıştırır ve daha fazla alana ihtiyaç duyarlar. Containerlar ise; işletim sistemleri yoktur. Host işletim sistemi üzerinde çalışır ve hostun çekirdeğini kullanırlar. Neredeyse tüm fonksiyonlarını kullanabilirler. Daha az alana ihtiyaç duyar. Bu yüzden çok daha hafif ve hızlıdır.


Containerı örneklendirerek anlatacak olursak; Örneğin bilgisayarımıza bir uygulama indirdik. Bu uygulama kendi kendisine çalışmaz. Çalışması için gereken setup'ı indirmemiz gerekir. Setup'ı indirdiğimizde uygulama içerden bağımlılıklarını yükler. Biz uygulamaya çift tıkladığımızda uygulama çalışır hale gelir. İşte CONTAİNER bu çalışan versiyondur. bu çalışan versiyonun kaynak kodlarına ise IMAGE denir.


Haydi o zaman Image Nedir? detaylı bir şekilde inceleyelim.



Image Nedir?


Docker Image

Bir uygulamanın çalışması için gerekli olan tüm dosyaları, ortam değişkenlerini, bağımlılıkları ve içerisinde birçok farklı yapıyı barındıran yapılardır. Containerların temel yapıtaşıdır.


Imageları template, plan veya package gibi düşünebiliriz. Örneğin bir web uygulaması için web sunucusunu, gerekli kütüphaneleri, veri tabanı bağlantı ayarlarını ve diğer tüm bileşenleri içerebilir.





Örneğin; form tabanlı uygulamaların(WinForm vs.) projesi image olarak düşünülebilir. Imagelar Docker File denilen metin dosyaları ile oluşturulur. Docker Hub da tutulur.


Biraz da Docker File ve Docker Hub Nedir? bunları inceleyelim.



Docker File


Genellikle bir metin düzenleyicisinde oluşturulan ve belirli bir formatta yazılan bir dosyadır. Bir dizi komut içerir ve bu komutlar Docker engine tarafından sırayla çalıştırılır. Aslında imagelerin nasıl oluşturulacağını belirlemek için kullanılan bir metin dosyasıdır.


Docker Hub


Docker'ın kendi GitHub sürümü olarak düşünebiliriz. Container imagelarının depolanabileceği, paylaşılabileceği ve yönetilebileceği bir open source alanıdır.


Docker'ı nasıl kullanacağımız üzerine biraz çalışalım. Temel Docker Komutlarını inceleyelim.




Temel Docker Komutları


  1. Docker Pull Docker image i Docker Hub'dan çeker. Yani image i bilgisayarımıza indirebiliriz. Örnek olarak Docker'a işletim sistemi kurabilmek için yazabileceğimiz komut;

docker pull komutu


2. Docker Images


Çektiğimiz ve oluşturduğumuz imageları listeler. Docker Images komutu:


docker images komutu

3. Docker Run


Bir image ı çalıştırıp container üretmektir. Eğer bu image yerelde yoksa Docker otomatik olarak bu image ı Docker Hub'dan çeker. Docker Run komutu:


docker run komutu


4. Docker PS


Çalışan containerları listeler. Docker PS komutu:


docker ps komutu

Çalışan ya da çalışmayan tüm containerları görmek istiyorsak çalıştırmamız gereken komut:


docker ps -a komutu


5. Docker Start


Durdurulmuş bir Docker containerını başlatır. Docker Start komutu:


docker start komutu





6. Docker Stop


Belirtilen Docker containerını durdurur. Docker Stop komutu:


docker stop komutu






Docker ile ilgili temel bilgilerden buraya kadar sizlere bahsetmiş oldum. Bir sonraki yazımda sizlere Docker ile ilgili daha detaylı bilgiler paylaşacağım. Umarım yazımı beğenmişsinizdir. Bir sonraki yazımda görüşmek dileğiyle...


Ceyda Atalay

54 görüntüleme1 yorum

Son Yazılar

Hepsini Gör

.NET Nedir?

bottom of page