(KULLANıM DıŞı) Azure Container Service ile kullanılacak kapsayıcı görüntüleri oluşturma

İpucu

Azure Kubernetes Service kullanan bu öğreticinin güncelleştirilmiş sürümü için bkz. Öğretici: Uygulamayı Azure Kubernetes Service (AKS) için hazırlama.

Uyarı

Azure Container Service (ACS) kullanım dışı bırakılıyor. ACS'ye yeni özellik veya işlevsellik eklenmiyor. Tüm API'ler, portal deneyimi, CLI komutları ve belgeleri kullanım dışı olarak işaretlenir.

2017'de Kubernetes yönetimi, dağıtımı ve işlemlerini basitleştirmek için Azure Kubernetes Service (AKS) kullanıma sunulmuştur. Kubernetes düzenleyicisini kullanıyorsanız lütfen 31 Ocak 2020'ye kadar AKS'ye geçin. Başlamak için bkz. Azure Kubernetes Service geçiş.

Daha fazla bilgi için bkz. Azure.com'da Azure Container Service'in kullanımdan kaldırılması duyurusu.

Bu yedi parçalık öğreticinin ilk bölümünde, bir çoklu kapsayıcı uygulaması Kubernetes’te kullanılmak üzere hazırlanmaktadır. Tamamlanan adımlar:

  • GitHub’dan uygulama kaynağını kopyalama
  • Uygulama kaynağından kapsayıcı görüntüsü oluşturma
  • Uygulamayı yerel bir Docker ortamında test etme

Tamamlandıktan sonra, aşağıdaki uygulamaya yerel geliştirme ortamınızdan erişilebilir.

Image of Kubernetes cluster on Azure

Sonraki öğreticilerde, kapsayıcı görüntüsü Azure Container Registry’ye yüklenip Azure’da barındırılan bir Kubernetes kümesinde çalıştırılır.

Başlamadan önce

Bu öğreticide kapsayıcılar, kapsayıcı görüntüleri ve temel docker komutları gibi temel Docker kavramları hakkında bilgi sahibi olduğunuz varsayılmıştır. Gerekirse kapsayıcı temelleri hakkında bilgi için bkz. Docker ile çalışmaya başlama.

Bu öğreticiyi tamamlamak için Docker geliştirme ortamı gerekir. Docker Mac, Windows veya Linux'ta Docker'ı kolayca yapılandırmanızı sağlayan paketler sağlar.

Azure Cloud Shell, bu öğreticideki her adımı tamamlamak için gerekli olan Docker bileşenlerini içermez. Bu yüzden, eksiksiz bir Docker geliştirme ortamı kullanmanızı öneririz.

Uygulama kodunu alma

Bu öğreticide kullanılan örnek uygulama, temel oylama uygulamasıdır. Bu uygulama, ön uç bileşen ile arka uç Redis örneğinden oluşur. Web bileşeni, özel kapsayıcı görüntüsüne paketlenmiştir. Redis örneği, Docker Hub’dan alınan değiştirilmemiş bir görüntü kullanır.

Geliştirme ortamına uygulamanın bir kopyasını indirmek için Git kullanın.

git clone https://github.com/Azure-Samples/azure-voting-app-redis.git

Kopyalanan dizinden çalışabilmeniz için dizinleri değiştirin.

cd azure-voting-app-redis

Dizinin içinde uygulama kaynak kodu, önceden oluşturulmuş Docker Compose dosyası ve Kubernetes bildirim dosyası bulunur. Bu dosyalar öğretici kümesi boyunca kullanılır.

Kapsayıcı görüntüleri oluşturma

Docker Compose kapsayıcı görüntülerinden alınan derlemeyi ve çoklu kapsayıcı uygulamalarının dağıtımını otomatikleştirmek için kullanılabilir.

Kapsayıcı görüntüsünü oluşturmak için docker-compose.yml dosyasını çalıştırın, Redis görüntüsünü indirin ve uygulamayı başlatın.

docker-compose up -d

Tamamlandığında, oluşturulan görüntüleri görmek için docker images komutunu kullanın.

docker images

İndirilen veya oluşturulan üç görüntü olduğunu göz önünde bulundurun. azure-vote-front görüntüsü uygulamayı içerir ve temel olarak nginx-flask görüntüsünü kullanır. redis görüntüsü bir Redis örneği başlatmak için kullanılır.

REPOSITORY                   TAG        IMAGE ID            CREATED             SIZE
azure-vote-front             latest     9cc914e25834        40 seconds ago      694MB
redis                        latest     a1b99da73d05        7 days ago          106MB
tiangolo/uwsgi-nginx-flask   flask      788ca94b2313        9 months ago        694MB

Çalışan kapsayıcıları görmek için docker ps komutunu kullanın.

docker ps

Çıkış:

CONTAINER ID        IMAGE             COMMAND                  CREATED             STATUS              PORTS                           NAMES
82411933e8f9        azure-vote-front  "/usr/bin/supervisord"   57 seconds ago      Up 30 seconds       443/tcp, 0.0.0.0:8080->80/tcp   azure-vote-front
b68fed4b66b6        redis             "docker-entrypoint..."   57 seconds ago      Up 30 seconds       0.0.0.0:6379->6379/tcp          azure-vote-back

Uygulamayı yerel olarak test etme

Çalıştırılan uygulamayı görüntülemek için https://localhost:8080 adresine göz atın.

Image of Kubernetes cluster on Azure

Kaynakları temizleme

Artık uygulama işlevselliği doğrulandığından, çalışan kapsayıcılar durdurulup kaldırılabilir. Kapsayıcı görüntülerini silmeyin. Sonraki öğreticide azure-vote-front görüntüsü bir Azure Container Registry örneğine yüklenir.

Çalışan kapsayıcıları durdurmak için aşağıdaki komutu çalıştırın.

docker-compose stop

Aşağıdaki komutu kullanarak, durdurulan kapsayıcıları ve kaynakları silin.

docker-compose down

Tamamlandığında, Azure Vote uygulamasını içeren bir kapsayıcı görüntüsüne sahip olursunuz.

Sonraki adımlar

Bu öğreticide bir uygulama test edildi ve bu uygulamaya yönelik kapsayıcı görüntüleri oluşturuldu. Aşağıdaki adımlar tamamlandı:

  • GitHub’dan uygulama kaynağını kopyalama
  • Uygulama kaynağından kapsayıcı görüntüsü oluşturuldu
  • Uygulama yerel bir Docker ortamında test edildi

Kapsayıcı görüntülerini bir Azure Container Registry’de depolama hakkında bilgi edinmek için sonraki öğreticiye geçin.