Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğretici serisi, bir Python web uygulamasını kapsayıcıya alıp yerel olarak çalıştırmayı veya Azure App Service'e dağıtmayı gösterir. App Service Kapsayıcılar için Web Uygulaması, kapsayıcı düzenleyiciyi yönetme ve bakımını yapma konusunda endişelenmeden kapsayıcılarınızı oluşturmaya odaklanmanızı sağlar. Web uygulamaları oluştururken Azure App Service, kapsayıcılarla ilk adımlarınızı atmak için iyi bir seçenektir. Bu kapsayıcı web uygulaması verileri depolamak için yerel bir MongoDB örneği veya Azure Cosmos DB için MongoDB kullanabilir. Azure'da kapsayıcıları kullanma hakkında daha fazla bilgi için bkz . Azure kapsayıcı seçeneklerini karşılaştırma.
Bu öğreticide siz:
Docker kapsayıcısını yerel olarak oluşturun ve çalıştırın. Bkz. Kapsayıcılı Python web uygulamasını yerel olarak derleme ve çalıştırma.
Docker kapsayıcı görüntüsünü doğrudan Azure'da oluşturun. Bkz. Azure'da kapsayıcılı Python web uygulaması oluşturma.
App Service'i Docker kapsayıcı görüntüsünü temel alan bir web uygulaması oluşturacak şekilde yapılandırın. Bkz. Kapsayıcılı Python uygulamasını App Service'e dağıtma.
Bu öğretici serisindeki makaleleri tamamladıktan sonra, Python web uygulamasının Azure'a Sürekli Tümleştirme (CI) ve Sürekli Dağıtım (CD) temeline sahip olacaksınız.
Hizmete genel bakış
Bu öğreticiyi destekleyen hizmet diyagramında iki ortam gösterilmektedir: geliştirici ortamı ve Azure ortamı. Geliştirme sürecinde kullanılan temel Azure hizmetlerini vurgular.
Geliştirme ortamı
Bu öğreticide geliştirici ortamını destekleyen bileşenler şunlardır:
Yerel Geliştirme Sistemi: Docker kapsayıcısını kodlamak, derlemek ve test etme amacıyla kullanılan kişisel bilgisayar.
Docker Containerization: Docker, uygulamayı ve bağımlılıklarını taşınabilir bir kapsayıcıda paketlemek için kullanılır.
Geliştirme Araçları: Yazılım geliştirme için bir kod düzenleyicisi ve diğer gerekli araçları içerir.
Yerel MongoDB Örneği: Geliştirme sırasında veri depolama için kullanılan yerel bir MongoDB veritabanı.
MongoDB Bağlantısı: Bağlantı dizesi aracılığıyla sağlanan yerel MongoDB veritabanına erişim.
Azure ortamı
Bu öğreticide Azure ortamını destekleyen bileşenler şunlardır:
-
- Azure App Service'te Kapsayıcılar için Web App, Docker kullanarak hem yerleşik görüntülerin hem de özel görüntülerin kapsayıcı barındırmasını sağlamak için Docker kapsayıcı teknolojisini kullanır.
- Kapsayıcılar için Web Uygulaması, yeni görüntüler hakkında bilgilendirilmek üzere Azure Container Registry'de (ACR) bir web kancası kullanır. Kayıt defterine yeni bir görüntü gönderildiğinde, web kancası bildirimi App Service'in güncelleştirmeyi çekmesini ve uygulamayı yeniden başlatmasını tetikler.
-
Azure Container Registry, Docker görüntülerini ve bileşenlerini Azure'da depolamanıza ve yönetmenize olanak tanır. Azure'daki dağıtımlarınızın yakınında bulunan ve Microsoft Entra gruplarınızı ve izinlerinizi kullanarak erişimi denetleme olanağı sağlayan bir kayıt defteri sağlar.
Bu öğreticide kayıt defteri kaynağı Azure Container Registry'dir, ancak küçük değişikliklerle Docker Hub'ı veya özel bir kayıt defterini de kullanabilirsiniz.
-
MongoDB için Azure Cosmos DB, bu öğreticide veri depolama için kullanılan bir NoSQL veritabanıdır.
Kapsayıcılı uygulama, bir ortam değişkeni olarak depolanan ve uygulamaya sağlanan bir bağlantı dizesi kullanarak Azure Cosmos DB kaynağına bağlanır ve bu kaynağa erişir.
Kimlik doğrulama
Bu öğreticide, yerel olarak veya Azure'da bir Docker görüntüsü derleyip Azure App Service'e dağıtacaksınız. App Service kapsayıcı görüntüsünü bir Azure Container Registry deposundan çeker.
App Service, depodan görüntüleri güvenli bir şekilde çekmek için sistem tarafından atanan yönetilen kimliği kullanır. Bu yönetilen kimlik, web uygulamasına diğer Azure kaynaklarıyla etkileşim kurma izinleri verir ve açık kimlik bilgileri gereksinimini ortadan kaldırır. Bu öğreticide, App Service kurulumu sırasında yönetilen kimlik, bir kayıt kapsayıcı görüntüsü kullanılacak şekilde yapılandırılır.
Öğretici örnek web uygulaması, verileri depolamak için MongoDB kullanır. Örnek kod, bir bağlantı dizesi aracılığıyla Azure Cosmos DB'ye bağlanır.
Önkoşullar
Bu öğreticiyi tamamlamak için şunlara ihtiyacınız var:
Oluşturabileceğiniz bir Azure hesabı:
- Azure Container Registry
- Azure App Service
- MongoDB için Azure Cosmos DB (veya eşdeğerine erişim). MongoDB için Azure Cosmos DB veritabanı oluşturmak için bu öğreticinin 2. bölümündeki adımları izleyin.
Visual Studio Code veya Azure CLI, tercih ettiğiniz araca bağlı olarak. Visual Studio Code kullanıyorsanız Docker uzantısına ve Azure App Service uzantısına ihtiyacınız vardır.
Bu Python paketleri:
- MongoDB'ye bağlanmak için MongoDB Kabuğu (mongosh ).
- Flask veya Django web çerçevesi olarak.
Docker yerel olarak yüklendi.
Örnek uygulama
Bu öğreticinin nihai sonucu, Azure'da dağıtılan ve çalıştırılan, aşağıdaki ekran görüntüsüne benzeyen bir restoran yorum uygulamasıdır.
Bu öğreticide, veri depolama için MongoDB kullanan bir Python restoran inceleme uygulaması oluşturacaksınız. PostgreSQL kullanan örnek bir uygulama için bkz. Yönetilen kimlikle Flask web uygulaması oluşturma ve Azure'a dağıtma.