Bu önemli kavramların basit kelimelerle açıklandığı Master Docker temelleri.

Docker'da uzmanlaşmak, arka uç yazılım mühendisleri için aranan bir beceridir. Docker, uygulamaları oluşturmanıza, paketlemenize ve dağıtmanıza yardımcı olacaktır.

Dockerlı uygulamalar çeşitli ortamlarda çalışabilir. Bu, uygulama kesinti süresini azaltarak işletmelere rekabet avantajı sağlar. Ancak Docker'ı öğrenmeye başladığınızda korkutucu olabilir. İşte Docker'da uzmanlaşmayı öğrenmeniz gereken hayati konular.

Docker Nedir?

Docker, uygulamaları konteyner adı verilen yürütülebilir birimlere paketlemek için kullanılan bir yazılımdır. Docker, uygulamaları hızlı bir şekilde oluşturmak, test etmek ve dağıtmak için destek sağlar.

Docker'ı kullandığınızda Docker Engine ile etkileşime girersiniz. Docker Engine'i herhangi bir işletim sistemine yükleyebilirsiniz. Windows 10 ve 11, Mac os işletim sistemi, veya Ubuntu/Linux sistemleri. Docker'ı etkili bir şekilde kullanmak için öğrenmeniz gereken birçok araç ve kavram vardır. Başlamak için en önemli olanları burada bulabilirsiniz.

instagram viewer

1. Docker Görüntüsü

Docker görüntüsü, kapsayıcılar oluşturmak için kullanılan hafif bir plandır. İşletim sistemini, uygulama kodunu ve bağımlılıkları belirten talimatlardan oluşan bir şablondur. Görüntünün bir Docker dosyasında nasıl oluşturulacağına ilişkin talimatları tanımlarsınız.

Dosyada uygulamanızın ihtiyaç duyduğu her şeyi belirtirsiniz. Docker daha sonra görüntüyü sağlanan talimatlara göre otomatik olarak oluşturur. Docker'ın çevrimiçi kayıt defteri Docker Hub'da çeşitli görseller bulabilirsiniz. Docker, güvenlik amacıyla resmi görsellerin kullanılmasını önerir.

Ayrıca özelleştirilmiş yapılandırmalara dayalı görüntüler de oluşturabilirsiniz. Görseller çeşitli boyutlarda, işletim sistemlerinde ve dillerde gelir. Uygulamanıza en uygun olanı seçebilirsiniz. Örneğin, öğrenebilirsiniz .NET web API'sinin Docker görüntüsünün nasıl oluşturulacağı.

2. Docker Konteyneri

Konteynerler, bir uygulamayı yürütülebilir bir birime paketlemek için kullanılan birimlerdir. Kapsayıcılar, kitaplıklar, kod, bağımlılıklar ve çalışma zamanı dahil olmak üzere bir uygulamayı çalıştırmak için gereken her şeyi içerir.

Konteynerler, uygulamaları çeşitli ortamlarda tutarlı bir şekilde çalışmalarına olanak tanıyan birimlere ayırır. Konteynerler, geliştirme ve üretim ortamlarındaki uygulamaları hatalarla karşılaşmadan yönetmenizi sağlar. Var konteynerler için birçok kullanım durumu keşfedebileceğiniz.

Docker kapsayıcılarında kapsayıcı kimliği, görüntü ve temel işletim sistemi gibi ayrıntılar bulunur. Ayrıca kapsayıcının çalışma zamanını, durumunu ve adını da görebilirsiniz. Sisteminizdeki tüm kapsayıcıları listelemek için aşağıdaki komutu kullanın:

docker container ls

Çalışan tüm konteynerlerin ayrıntılarını göreceksiniz:

Ayrıca kullanabilirsin Liman işçisi PS çalışan tüm kapsayıcıları görüntülemek için. Ve liman işçisi konteyner incelemesi [konteyner kimliği] Bir kabın içeriğini görüntülemek için.

4. Docker dosyası

Docker dosyası, Docker görüntüsünün nasıl oluşturulacağına ilişkin talimatları belirten bir belgedir. Dosya, temel görüntüyü, uygulama kodunu ve görüntüyü oluşturmak için gereken dosyaları belirtir.

Dosya ayrıca ortam değişkenlerini ve görüntü oluşturmaya yönelik komutları da içerir. Diğer dosyalar gibi bir Dockerfile oluşturabilirsiniz. Dosyadaki talimatları Docker'ın anlayacağı bir sözdizimini kullanarak belirtmeniz gerekir. Aşağıda örnek bir Dockerfile örneği verilmiştir:

5. Docker Oluşturma

Docker Compose, çok kapsayıcılı Docker uygulamalarını tanımlamaya ve çalıştırmaya yönelik bir araçtır. Tüm hizmetleri bir YAML dosyasında yapılandırırsınız. YAML dosyası, uygulamanız için gerekli hizmetleri belirttiğiniz bir belgedir. Daha sonra tek bir komut kullanarak tüm hizmetleri oluşturabilir ve çalıştırabilirsiniz.

Docker Compose, uygulamaları çeşitli ortamlarda çalıştırabilir. Bunlar üretim, hazırlama, geliştirme veya test ortamları olabilir. Docker Compose, birden fazla konteynerin düzenlenmesine ilişkin karmaşık süreci basitleştirir.

Bir uygulamayı yaşam döngüsü boyunca yönetmek için Docker Compose'u kullanabilirsiniz. Bu, hizmetlerin başlatılmasını, durdurulmasını ve yeniden oluşturulmasını içerebilir. Ayrıca çalışan hizmetlerin durumunu, akış günlüğü çıktısını görüntüleyebilir ve bir hizmette komutları çalıştırabilirsiniz.

Docker Compose ile ağları yapılandırabilir, birimleri yönetebilir ve bağımlılıkları belirleyebilirsiniz. Ayrıca çoğaltma hizmetlerini belirterek uygulamaları üretimde yatay olarak ölçeklendirebilirsiniz.

Compose, karmaşık uygulamaların çeşitli ortamlara dağıtımını basitleştirir. Aynı ortamı farklı sistemlerde çoğaltmak için de kullanabilirsiniz. Docker Compose'un nasıl kullanılacağını öğrenme uygulamanızın verimliliğini artırabilir.

İşte Docker Compose YAML dosyasının bir örneği:

6. Docker Merkezi

Docker Merkezi Docker için çevrimiçi bir konteyner kayıt defteridir. En büyük kapsayıcı kayıt defteri olduğundan, geliştiriciler ve açık kaynak katkıda bulunanlar için bir işbirliği aracıdır. Aynı zamanda yazılım satıcıları için mükemmel bir pazardır.

Docker Hub, güvenilir sanallaştırma yazılımı bulmak için güvenilir bir kaynaktır. Bir depo oluşturabilir ve 100.000'den fazla görseli paylaşabilirsiniz.

Yapabilirsiniz uygulamalarınızı barındırın ve platformda kodlayın. Ayrıca diğer geliştiricilerle projeler üzerinde işbirliği yapabilirsiniz. Docker Hub'ın belirli yetkili ekipler için ücretsiz bir genel seçeneği veya ücretli özel depoları vardır.

7. Docker Ağı

Docker ağı, konteynerlerin birbirleriyle ve dış kaynaklarla iletişim kurmasını sağlayan bir özelliktir. Ağlar, konteynerler arasında kontrollü ve izole iletişim sağlar. Bunlar tek veya birden fazla ana bilgisayarda çalışan konteynerler olabilir.

Makinenizde bir konteyner çalıştırdığınızda harici ağlara açık değildir. Kapları harici IP adreslerine, DNS hizmetlerine, yönlendirme tablolarına ve internet ağ geçitlerine maruz bırakmak için bağlantı noktalarını kullanırsınız.

Ağ oluşturma, konteynerlerin yalıtılmış ağ ortamlarında çalışmasına olanak tanır. Ağlar, ad alanları ve IP adresleri sağlayarak kapsayıcı çakışmasını azaltır ve güvenliği artırır.

8. Docker Birimleri

Docker'da birimler kalıcı verileri depolamak için kullanılan bir mekanizmadır. Tasarım gereği konteynerler geçicidir. Bu, onları tüm verileriyle birlikte değiştirmenin veya yok etmenin kolay olduğu anlamına gelir. Ancak verileri saklamak isteyeceğiniz durumlar vardır. Bu gibi durumlarda kalıcı verileri yönetmek için Docker birimlerini kullanabilirsiniz.

Birimlerin, kapsayıcılar arasında veri paylaşımına izin vermek de dahil olmak üzere başka kullanımları da vardır. Diğer depolama biçimleriyle karşılaştırıldığında yedeklenmeleri ve taşınmaları kolaydır. Ayrıca birimleri Docker CLI'yi veya API'yi kullanarak yönetebilirsiniz.

Bir konteyneri birim olmadan çalıştırırsanız Docker otomatik olarak bir tane oluşturur. Ayrıca herhangi bir kapsayıcıdan yalıtılmış birimler oluşturabilir ve yönetebilirsiniz. Bir birim oluşturmak için aşağıdaki komutu kullanın.

docker volume create my-vol

Oluşturduğunuz birimi görmek için aşağıdaki komutu çalıştırın:

docker volume ls //local my-vol

Daha sonra hacimleri istediğiniz herhangi bir kaba ekleyebilirsiniz. Ciltler hakkında daha fazla bilgiyi şuradan okuyabilirsiniz: Liman işçisi resmi belgeler.

Diğer Docker Özellikleri

Docker, konteyner yönetimi ve sürüm kontrolü için en iyi seçeneklerden biridir. Docker'ın araç setini öğrenirseniz geliştirme iş akışınızı hızlandırabilir ve kolaylaştırabilirsiniz.

Docker, uygulamalarınızı yönetmek için kullanabileceğiniz birçok özelliğe sahiptir. Temel özelliklerde uzmanlaştıktan sonra karmaşık uygulamaları düzenlemek için kullanılan Docker Swarm gibi diğer karmaşık özellikleri keşfedebilirsiniz.