Docker

Docker Image Nedir?

Merhaba,

Docker Image Nedir? isimli bu yazımda Docker’in bir parçası olan Docker Image ‘i hakkında bilgi vereceğim. Docker ile ilgili daha önce yazmış olduğum makalelere aşağıdaki linkten ulaşabilirsiniz.

Ubuntu üzerine Docker Kurulumu

Docker mı VMware mi?

Docker Nedir?

Docker Image Nedir?

Docker Image ‘ı aslında bir template, şablon olarak tanımlayabiliriz. Docker üzerinde çalışabilecek bir container oluşturmak için gerekli olan template’lere biz aslında Docker Image diyoruz. Kendi özel kullanımınız için kullanabileceğiniz veya diğer Docker kullanıcılarıyla herkese açık olarak paylaşabileceğiniz uygulamaları ve önceden yapılandırılmış sunucu ortamlarını paketlemek için kullanışlı bir yol sağlıyor. Zaten ilk defa Docker kullanıyorsanız Docker Image önemli bir başlangıç noktasıdır. Aşağıda da belirteceğim üzere Container oluşturabilmeniz için bir image’a ihtiyaç duyarsınız böylece container mimarisini oluşturmuş olursunuz. Siz docker image’larını kullanarak birden fazla container oluşturabilirsiniz.

Docker Image Nedir?
Docker Image Nedir?

Docker Image, Docker container oluştururken kullanılan read only olarak bulunan bir template’dir aslında. Şimdi bu kavramlar size yabancı gelebiliyor ancak ilerleyen bölümlerde size daha detaylı örnekler ile bunu anlatacağım. Çoğu zaman, bir image, bazı ek özelleştirmelerle birlikte başka bir image’a dayanır. Örneğin bir apache web sunucusunu, uygulamanızı ve uygulamanız için yapılandırma ayrıntılarını yükleyen bir image oluşturabilirsiniz.

Kendi image’larınızı oluşturabildiğiniz gibi başkaları tarafından oluşturulan image’larıda kullanabilirsiniz. Kendi image’inizi oluşturmak içinde ilk olarak Dockerfile oluşturmanız gerekiyor. Dockerfile’daki her komut image’da bir katman yani layer oluşturur. Dockerfile dosyasının değiştirip image’i yeniden oluşturduğunuzda yanlızca katman (layer) yeniden oluşur. Dockerfile aslında bir metin belgesidir. Docker Image oluşturmak için kullanılır. Dockerfile içerisinde bir hangi image’in kullanılacağı ve bu image için gerekli olan uygulamaların hangi parametreler ile ilişkisi olacağı yani çalışacağı yazılır.

Docker Image’ın kullanımı ve oluşturulması ile ilgili ayrıca bir makale yazacağım ancak burada kısaca bir örnek vermek istiyorum. Phyton ile bir uygulama geliştirdiniz ve bu uygulama ismine tayfun ismini verdiğinizi düşünelim. Tayfun isimli uygulamayı çalıştırdığınızda ekrana Merhaba Tayfun yazacağını düşünelim. Şimdi bu altyapıyı hazırlamak için işletim sistemi üzerinde ilgili kütüphanelerin yüklenmesi, yardımcı programları yüklenmesi gibi süreçleriniz olacaktır. Docker Image’ın aslında burada farkı ortaya çıkıyor. Docker image, bir uygulamanın çalışması için gerekli olan programların, kütüphanelerin paketlenmiş haline biz Docker Image diyoruz. Docker Image içerisinde çekirdek veya kernel bulunmaz çünkü Container teknolojilerinde işletim sisteminin kernel’i kullanılır. Yani Docker Image, bir işletim sistemi değildir. Bana gelen sorulardan birtaneside Docker Image bir işletim sistemi midir? Hayır değildir 🙂

Docker Image’larınızı siz isterseniz başka bir ortamda kullanabilirsiniz. Başka bir ortam ile paylaşabilirsiniz. Bu tamamen sizin tercihinize kalmıştır aslında. Tabi Docker Engine’in yüklü olduğu ortamlarda kullanılabileceğinide belirtmek isterim. Oluşturduğunuz Image’ın çalışan haline ise bir Container diyoruz. Container ile ilgili ayrıca bir makale yazacağım zaten.

Docker Image‘in readonly bir formatta olduğuun yukarıda belirtmiştim. Container ise bu image dosyası kullanılarak oluşturulan bir çalışan kopyadır. Docker Image bir bakıma sadece şablon olduğu için bunları başlatamaz veya çalıştıramazsınız. Yapabileceğiniz şey, container oluşturmak için bu şablonu temel olarak kullanmaktır. Bir container oluşturduktan sonra, değiştirilemez olan bu şablonun yani image’in üstüne yazılabilir bir katman (layer) ekler. Böylece artık değiştirebilirsiniz.

Docker Image‘larını docker hub üzerinden indirebilirsiniz veya belirttiğim gibi kendiniz oluşturabilirsiniz. İlerleyen bölümlerde Docker Image’in uygulamalarını anlatacağım.

Umarım faydalı olmuştur.

İyi çalışmalar.

5 7 votes
Makaleyi Oylamayı Unutmayın !

Tayfun DEĞER

Bu yazı blog üzerinde Tayfun DEĞER tarafından paylaşılmıştır. 2009 yılında açılan blog kısa zaman içerisinde büyük bir izleyici kitlesine sahip olmuştur. Tayfun DEĞER danışmanlık ve eğitimler vermektedir. vExpert 2013-2019, VCP4/5/6, VCP5-DT, VCP-Cloud ve MCSE sertifikalarına sahiptir.Twitter 'dan @tayfundeger veya RSS ile sitedeki değişiklikleri takip edebilirsiniz.

İlgili Makaleler

Subscribe
Bildir
guest

2 Yorum
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Recep YÜKSEL
Recep YÜKSEL

Teşekkürler Tayfun hocam.

Başa dön tuşu
2
0
Görüşlerini belirtmek ister misin?x