Docker imajı ve Docker konteyneri, farklı amaçlara sahip iki farklı şeydir.

Docker imajı, bir kapsayıcı oluşturmak için gereken tüm bilgileri içeren bir dosyadır. Bir görüntü sıfırdan oluşturulabilir veya başka bir görüntüye dayalı olabilir. İmaj dosyaları genellikle kapsayıcı oluşturmak için bir başlangıç ​​noktası olarak kullanılır.

Docker konteyneri, docker komutu kullanılarak çalıştırılan ve bunun bir ana makinede işlem olarak çalıştırılmasına neden olan bir görüntünün örneğidir.

BlueMark Academy’nin alanında uzman eğitimcileri hem sektörde hem de teorik alanda önemli deneyimlere sahiptir. BlueMark Academy’nin Eğitimleri hakkında daha fazla bilgi sahibi olmak ya da Docker ve Container Eğitimlerine kaydolmak için hemen bizimle iletişime geçin!

Docker Hakkında Bilmeniz Gerekenler

Docker, uygulamanızı tüm bağımlılıkları ve yapılandırmasıyla tek bir birimde paketlemenize olanak tanıyan bir konteynerleştirme platformudur. Daha sonra bu görüntüyü, Linux veya Windows çalıştırıp çalıştırmadığına bakılmaksızın herhangi bir makinede çalıştırabilirsiniz.

Docker imajı, Dockerfile’da bir uygulama paketi oluşturmanın sonucudur. İmaj, uygulamayı ve bağımlılıklarını çalıştıran Docker kapsayıcıları oluşturmaya yönelik yönergeler içerir. Görüntü bir havuzda veya yerel makinenizde saklanabilir.

Docker konteyneri, Docker görüntüsünün yalıtılmış ancak çalışan bir örneğidir. Söz konusu görüntü tarafından belirtilen uygulamayı çalıştırmak için gereken kod, çalışma zamanı ve sistem araçlarını içerir.

Genel Bilgiler

Docker, 2013 yılında Solomon Hykes tarafından oluşturuldu ve o zamandan beri yazılım kapsayıcılarını yönetmek için en popüler araçlardan biri haline geldi. Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, IBM Bluemix, Red Hat OpenShift Container Platform, Oracle Container Cloud Service ve daha fazlası dahil olmak üzere birçok şirket tarafından kullanılmaktadır.

Docker’ın Amaçları

Docker, uygulamaları paketlemek ve çalıştırmak için araçlar, API’ler ve bir biçim sağlayan açık kaynaklı bir projedir. Geliştiricilerin, uygulamayı çalıştırmak için gereken tüm bağımlılıkları içeren yalıtılmış bir ortam sağlayarak uygulama oluşturmasını, dağıtmasını ve çalıştırmasını kolaylaştırmak için tasarlanmıştır.

Docker, Linux sunucularında kullanılmak üzere tasarlanmıştır. Temel olarak LXC teknolojisini kullanır ve OpenVZ veya Solaris Zones gibi herhangi bir kapsayıcı biçimiyle kullanılabilir.

Docker İmajı Nedir?

Docker imajı bir kapsayıcının şablonu iken, kapsayıcı görüntünün bir örneğidir. Bir Docker imajı daha fazla kapsayıcı oluşturmak için kullanılabilir. Aynı şablon, her biri kendi ortamına ve yüklü yazılımına sahip birden çok kapsayıcı oluşturmak için kullanılabilir. Bu, geliştiricilere yeni uygulamalar oluştururken aynı tabanı kullanabilecekleri ve her ortam için gerektiği gibi bileşen ekleyebilecekleri/kaldırabilecekleri için esneklik sağlar.

Docker Container Nedir?

Konteynerler görüntülerden oluşturulur; her kapsayıcı, o görüntüdeki tüm dosyalara erişime sahiptir, ancak diskteki başka hiçbir dosyaya erişimi yoktur.

Bir Docker imajı kullanılarak bir Docker Container oluşturulur ve bir Linux çekirdeğinin üzerinde çalışır. Bir uygulamayı çalıştırmak için gereken her şeyi içerir (örn. kod, çalışma zamanı, sistem araçları).

Dikkat Çeken Farklılıklar

Docker imajı ve Docker konreyneri, sıklıkla birbirinin yerine kullanılan iki terimdir. Ancak bu terimlerin farklı anlamları vardır.

Docker imajı, Docker konteyneri oluşturmak için salt okunur bir şablonu ifade eder. Kodunuzu çalıştırabileceğiniz bir uygulama ortamı oluşturmak için gereken tüm gerekli dosyaları ve meta verileri içerir.

Çalışan Bir Örnek: Docker Konteyneri

Docker Container, oluşturulmuş ve başlatılmış bir Docker imajının çalışan bir örneğidir. Bir görüntüyü (kayıt defterinden) aşağı çekerek, docker run gibi bir komutla başlatarak ve ardından konteynerde docker exec veya docker ps ile komutları çalıştırarak bir kap oluşturulur. Kapsayıcılar hafiftir, bu nedenle hızlı başlarlar ve sanal makinelerden daha az kaynak kullanırlar.

Docker konteyneri, Linux çekirdeği adı verilen bir yazılım parçasının üzerinde çalışan izole bir işlemdir. Konteynerler, tüm işletim sistemlerini çalıştıran sanal makinelerden daha hafiftir. Kapsayıcılar, diğer kapsayıcılarla aynı ana bilgisayar işletim sistemini paylaşır ve çok hızlı bir şekilde oluşturulabilir.

Salt Okunur Bir Şablon: Docker İmajı

Docker imajı, kapsayıcı oluşturma talimatlarını içeren salt okunur bir şablondur. Yazılımın nasıl kurulacağına ve uygulamanızın gerektirdiği bağımlılıklara ilişkin talimatları içeren tek, sıkıştırılmış bir dosyadır.

Docker imajı, kapsayıcınızı oluşturmaya yönelik talimatları içeren bir görüntüdür. Temel işletim sistemini oluşturmak ve programları yüklemek için tüm talimatları içerir. Sıfırdan bir Docker imajı oluşturabilir veya başkaları tarafından oluşturulmuş mevcut görüntüleri kullanabilirsiniz.