Uygulama görüntülerini anlama

Tamamlandı

Kapsayıcılı görüntü, Azure Kubernetes Service (AKS) kullanan tüm dağıtılmış uygulamaların önemli bir parçasıdır. Etiketleri kullanarak:

  • İhtiyacınız olan farklı kapsayıcı görüntüleri oluşturun.
  • Görüntülerinizi bir kapsayıcı kayıt defterinde depolayın.
  • Belirli bir etiketli görüntüyü dağıtma.

Bu ünitede CI/CD işlem hattınızın etiketli uygulama görüntülerini nasıl kullandığını keşfedeceksiniz.

Kapsayıcı görüntüleri

Kapsayıcı görüntüsü, bir uygulamayı ve tüm yazılım bağımlılıklarını kapsülleyen yürütülebilir bir yazılım paketidir. Bu modülde Contoso web sitesi uygulamasını oluşturmak için bir Docker kapsayıcı görüntüsü kullanılır.

Docker görüntüsü, uygulama kodunu ve uygulamanın tam yürütülebilir görüntüsünü oluşturmak için gereken tüm bağımlılıkları içerir. Kapsayıcı görüntüsü, kapsayıcı çalışma zamanı için bir dizi yönerge içeren bir Dockerfile tarafından yapılandırılır.

Çatalınızın kökündeki Dockerfile dosyasına bakarsanız, görüntünün temeli olarak başka bir nginx görüntüsü kullanılarak başladığını görürsünüz. Sıfırdan başlamak yerine, ihtiyacınız olan dosyaları içeren diğer görüntülerle başlamak yaygındır.

Komutunu kullanarak docker build Dockerfile'dan bir görüntü oluşturursunuz.

Önemli

docker build Çalışan bir kapsayıcı içinde Docker kullanımına izin verilmediğinden komut Cloud Shell ortamında çalışmaz. Komutunu test docker build . etmek istiyorsanız depoyu yerel olarak kopyalayın ve kendi Docker yüklemenizi kullanarak komutunu çalıştırın.

Görüntü etiketleri

Etiketler, kapsayıcı görüntüleriyle çalışırken kullanılan önemli bileşenlerdir. Etiketler size resim türünü söyleyebilir ve aynı ada sahip birden çok resim arasında ayrım yapabilir.

Örneğin, bir depodaki Node.js görüntüsünün Node 12'den başlamasını istiyorsanız, etiketi FROM node:12 Dockerfile'a ekleyebilirsiniz. Ancak en son kararlı sürümden başlamak isterseniz FROM node:current etiketini kullanabilirsiniz. Etiketler, görüntünün türünü ve ne yapması beklendiğini gösterir.

Kapsayıcı görüntüsü oluşturmak, GitHub deposu oluşturmakla aynı tekniği kullanır ve Docker kapsayıcı yolu genellikle depo/görüntü-adı gibi bir şeydir. Ancak, bunları ayırt etmek için etiketleri kullanan aynı görüntünün birden çok sürümünü oluşturabilirsiniz.

Bu modülde, yayın sürümlerini etiketlemek için etiketleri kullanacaksınız. Sürüm 1.0.0 gibi v1.0.0 anlamsal sürüm oluşturma kurallarını kullanarak v*.*.* her üretim sürümü için bir etiket oluşturursunuz. Ana dala yapılan her etiketli gönderim, bu gönderimdeki etiketle aynı ada sahip yeni bir görüntü etiketi oluşturur. Etiketsiz göndermeler yalnızca latest etiketi oluşturur.

Etiketli ve etiketsiz tüm gönderimler, görüntüyü en son kodla güncelleştirin latest ve hazırlamaya dağıtın. etiketli v* görüntüler de üretim ortamına dağıtılır. Yalnızca resmi etiketli görüntüler üretime dağıtılırken, hem hazırlama hem de üretim ortamlarında her zaman hazırlanmış görüntü bulunur latest .

Kapsayıcı kayıt defterleri

Bir görüntüyle çalışmanın önemli bir yönü, görüntünün depolandığı yerdir. Kapsayıcı kayıt defteri, kapsayıcılı görüntü dosyalarını depolamak için kullanılan bir yerdir. Örneğin GitHub, kod değişikliklerini ve sürümlerini de depolayan bir kapsayıcı kayıt defteridir. komutunu kullanarak docker push kapsayıcı kayıt defterlerine yeni uygulama görüntüleri gönderebilirsiniz.

Bu modülde, uygulama görüntüsü dosyalarını önceki ünitede oluşturduğunuz Azure Container Registry örneğinde depolaacaksınız. Bir Kişisel Erişim Belirteci (PAT) oluşturup GitHub ve Azure ile kimlik doğrulaması yapmak için bir federasyon sertifikası verdikten sonra işlem hattı hem hem docker push hem de docker build komutlarını otomatikleştirir.

CI/CD işlem hatlarını ve etiketli kapsayıcı görüntülerini anladığınıza göre, GitHub Actions CI/CD işlem hattınızı oluşturmaya başlamak için bir sonraki üniteye geçin.

Bilgilerinizi kontrol edin

1.

Docker görüntüsü nedir?

2.

CI/CD işlem hattı görüntü etiketlerini nasıl kullanabilir?