Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V této sérii kurzů se dozvíte, jak kontejnerizovat webovou aplikaci v Pythonu a pak ji spustit místně nebo ji nasadit do služby Azure App Service. App Service Web App for Containers umožňuje soustředit se na vytváření kontejnerů, aniž byste se museli starat o správu a údržbu základního orchestrátoru kontejnerů. Při vytváření webových aplikací je služba Azure App Service dobrou volbou pro první kroky s kontejnery. Tato webová aplikace kontejneru může k ukládání dat použít místní instanci MongoDB nebo MongoDB pro Azure Cosmos DB . Další informace o používání kontejnerů v Azure najdete v tématu Porovnání možností kontejneru Azure.
V tomto návodu budete:
Místně sestavte a spusťte kontejner Dockeru. Viz Sestavení a spuštění kontejnerizované webové aplikace v Pythonu místně.
Vytvořte image kontejneru Dockeru přímo v Azure. Viz Sestavení kontejnerizované webové aplikace v Pythonu v Azure.
Nakonfigurujte službu App Service tak, aby vytvořila webovou aplikaci založenou na imagi kontejneru Dockeru. Viz Nasazení kontejnerizované aplikace v Pythonu do služby App Service.
Po dokončení článků v této sérii kurzů budete mít základ pro kontinuální integraci (CI) a průběžné nasazování (CD) webové aplikace v Pythonu do Azure.
Přehled služby
Diagram služby podporující tento kurz ukazuje dvě prostředí: vývojové prostředí a prostředí Azure. Zvýrazňuje klíčové služby Azure používané v procesu vývoje.
Vývojářské prostředí
Mezi komponenty podporující vývojářské prostředí v tomto kurzu patří:
místního vývojového systému: Osobní počítač používaný pro kódování, sestavování a testování kontejneru Dockeru.
kontejnerizace Dockeru: Docker se používá k zabalení aplikace a jejích závislostí do přenosného kontejneru.
Vývojové nástroje: Obsahuje editor kódu a další nezbytné nástroje pro vývoj softwaru.
místní instance MongoDB: Místní databáze MongoDB užitá pro ukládání dat během vývoje.
připojení MongoDB: Přístup k místní databázi MongoDB, který je poskytován prostřednictvím připojovacího řetězce.
Prostředí Azure
Mezi komponenty podporující prostředí Azure v tomto kurzu patří:
-
- Ve službě Azure App Service používá Služba Web App for Containers technologii kontejneru Dockeru k zajištění hostování kontejnerů jak integrovaných imagí, tak vlastních imagí pomocí Dockeru.
- Služba Web App for Containers používá webhook ve službě Azure Container Registry (ACR) k oznámení o nových imagech. Když se do registru nahraje nový obraz, oznámení webhooku aktivuje službu App Service, která stáhne aktualizaci a restartuje aplikaci.
-
Azure Container Registry umožňuje ukládat a spravovat image Dockeru a jejich komponenty v Azure. Poskytuje registr umístěný v blízkosti vašich nasazení v Azure, který umožňuje řídit přístup pomocí skupin a oprávnění Microsoft Entra.
V tomto kurzu je azure Container Registry zdrojem registru, ale můžete také použít Docker Hub nebo privátní registr s menšími úpravami.
-
Azure Cosmos DB pro MongoDB je databáze NoSQL používaná v tomto kurzu pro ukládání dat.
Kontejnerizovaná aplikace se připojuje k prostředku Azure Cosmos DB a přistupuje k němu pomocí připojovacího řetězce, který je uložen jako proměnná prostředí a je poskytnut aplikaci.
Autentizace
V tomto kurzu vytvoříte image Dockeru( místně nebo v Azure) a pak ji nasadíte do Služby Azure App Service. App Service načte image kontejneru z úložiště Azure Container Registry.
Aby služba App Service bezpečně načítala obrázky z úložiště, využívá systémem přiřazenou spravovanou identitu. Tato spravovaná identita uděluje webové aplikaci oprávnění k interakci s dalšími prostředky Azure a eliminuje potřebu explicitních přihlašovacích údajů. Pro účely tohoto kurzu se spravovaná identita konfiguruje během instalace služby App Service tak, aby používala image kontejneru registru.
Ukázková webová aplikace kurzu používá k ukládání dat MongoDB. Ukázkový kód se připojí ke službě Azure Cosmos DB prostřednictvím připojovacího řetězce.
Požadavky
K dokončení tohoto kurzu potřebujete:
Účet Azure, ve kterém můžete vytvořit:
- Azure Container Registry
- Azure App Service
- Azure Cosmos DB pro MongoDB (nebo přístup k ekvivalentnímu). Pokud chcete vytvořit databázi Azure Cosmos DB pro MongoDB, postupujte podle kroků v části 2 tohoto kurzu.
Visual Studio Code nebo azure CLIv závislosti na zvoleném nástroji. Pokud používáte Visual Studio Code, potřebujete rozšíření Dockeru a rozšíření Azure App Service .
Tyto balíčky Pythonu:
- MongoDB Shell (mongosh) pro připojení k MongoDB.
- Flask nebo Django jako webová architektura.
Docker je nainstalovaný místně.
Ukázková aplikace
Konečným výsledkem tohoto kurzu je aplikace pro kontrolu restaurace nasazená a spuštěná v Azure, která vypadá jako na následujícím snímku obrazovky.
V tomto kurzu vytvoříte aplikaci pro kontrolu restaurace v Pythonu, která využívá MongoDB pro ukládání dat. Ukázkovou aplikaci využívající PostgreSQL najdete v tématu Vytvoření a nasazení webové aplikace Flask do Azure se spravovanou identitou.