Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk egy 5 részes oktatóanyag-sorozat 3. része egy Python-webalkalmazás tárolóba helyezéséről és üzembe helyezéséről Azure App Service. A 2. részben helyben létrehoztad és futtattad a konténerképet. Ebben a cikkben ugyanazt a Python webalkalmazást közvetlenül Azure Container Registry készíti el a Docker helyi telepítése nélkül. Az image Azure-ban történő létrehozása általában gyorsabb és egyszerűbb, mint a helyi létrehozása, majd egy tárolóregiszterbe való feltöltése. A felhőalapú rendszerkép-építés emellett szükségtelenné teszi, hogy a Docker a fejlesztési környezetben fusson.
Az Azure App Service lehetővé teszi a tárolóalapú webalkalmazások üzembe helyezését és futtatását CI/CD-folyamatok használatával olyan platformokról, mint a Docker Hub, az Azure Container Registry és az Azure DevOps. Miután a Docker-lemezkép bekerült az Azure Container Registrybe, telepítheti azt az Azure App Service-be.
Prerequisites
Mielőtt hozzákezdene, győződjön meg arról, hogy elvégezte ennek az oktatóanyag-sorozatnak a 2. részét, amely a következőket ismerteti:
- A mintaadattár klónozása (Django vagy Flask).
- Erőforráscsoport létrehozása Azure erőforrásokhoz.
- A tárolóalapú alkalmazás helyi futtatása annak ellenőrzéséhez, hogy működik-e.
Emellett a következőkre van szükség:
- Aktív Azure-előfizetés. Ha még nincs előfizetése, hozzon létre egy ingyenes fiókot.
- helyileg telepített Azure CLI (az Azure CLI-hez kapcsolódó lépésekhez) vagy hozzáférés a Azure Cloud Shellhez.
- Visual Studio Code telepítve van a Docker-bővítmény (a VS Code lépéseihez).
Fontos
A minta Dockerfile a python:3.8-slim-t használja alapképként.
Python 3.8 2024 októberében lejárt, és a továbbiakban nem kap biztonsági frissítéseket. Frissítse a Dockerfile-t úgy, hogy az éles környezetben történő üzembe helyezéshez a python:3.12-slim vagy a python:3.13-slim elemet használja.
Ez a szolgáltatásdiagram a cikkben tárgyalt összetevőket emeli ki.
Azure Container Registry létrehozása
Ha már rendelkezik Azure Container Registry, hagyja ki ezt a lépést, és folytassa a következő lépéssel. Ellenkező esetben hozzon létre egy új Azure Container Registry a Azure CLI használatával.
A Azure Cloud Shell vagy a helyi fejlesztési környezetben futtathat Azure CLI parancsokat a Azure CLI telepítve.
Jegyzet
Használja ugyanazokat a neveket, mint az oktatóanyag-sorozat 2. részében.
Hozzon létre egy Azure tárolóregisztrációs adatbázist az az acr create paranccsal.
#!/bin/bash # Use the resource group that you created in part 2 of this tutorial series. RESOURCE_GROUP_NAME='msdocs-web-app-rg' # REGISTRY_NAME must be unique within Azure and contain 5-50 alphanumeric characters. # If the name is already taken, you'll receive an error. Choose a different name and retry. REGISTRY_NAME='msdocscontainerregistryname' echo "Creating Azure Container Registry $REGISTRY_NAME..." az acr create -g $RESOURCE_GROUP_NAME -n $REGISTRY_NAME --sku StandardA parancs JSON-kimenetében keresse meg az
loginServerértéket. Ez az érték a teljes beállításjegyzéknevet (az összes kisbetűt) jelöli, és tartalmazza a beállításjegyzék nevét.Példakimenet:
{ "loginServer": "msdocscontainerregistryname.azurecr.io", "name": "msdocscontainerregistryname", ... }Ha a helyi gépén használja az Azure CLI-t, futtassa a az acr login parancsot a tároló-beállításjegyzékbe való bejelentkezéshez.
az acr login -n $REGISTRY_NAMEA
-nparaméter vagy a rövid beállításjegyzéknevet (példáulmsdocscontainerregistryname) vagy a teljes beállításjegyzéknevet (msdocscontainerregistryname.azurecr.io) fogadja el. A parancs az Azure CLI hitelesítő adataival hitelesíti a Dockert az Azure Container Registryben.Várt kimenet:
Login SucceededJegyzet
Ha Azure Cloud Shell használ, nem kell futtatnia a
az acr loginparancsot, mert a Cloud Shell munkamenet automatikusan kezeli a hitelesítést.
Rendszerkép létrehozása az Azure Container Registryben
A tárolórendszerképet közvetlenül az Azure-ban hozhatja létre különböző módokon:
- A Azure Cloud Shell lehetővé teszi a rendszerkép teljes felépítését a felhőben, a helyi környezetétől függetlenül.
- Másik lehetőségként használhatja a VS Code-ot vagy a Azure CLI, hogy a helyi beállításból hozza létre a képet Azure anélkül, hogy a Docker helyileg kellene futnia.
A helyi fejlesztési környezetben Azure CLI parancsokat futtathat a telepített Azure CLI vagy a Azure Cloud Shell használatával.
A konzolon nyissa meg a klónozott adattár gyökérmappáját az oktatóanyag-sorozat 2. részében.
Hozza létre a tárolórendszerképet az az acr build parancs használatával.
Helyi fejlesztés:
az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest .Azure Cloud Shell:
Ha Azure Cloud Shell használ, a helyi elérési út (
.) helyett adja meg a GitHub adattár URL-címét:# For Django sample: az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest https://github.com/Azure-Samples/msdocs-python-django-container-web-app.git # For Flask sample: az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest https://github.com/Azure-Samples/msdocs-python-flask-container-web-app.gitA végső argumentum (
.vagy a Git URL-címe) a Docker buildkörnyezete– a Docker-fájlokat és alkalmazásfájlokat tartalmazó könyvtár, amelyet a Docker a rendszerkép létrehozásához használ.Győződjön meg arról, hogy a tárolólemezkép az az acr-adattár lista parancsával lett létrehozva.
az acr repository list -n $REGISTRY_NAMEVárt kimenet:
[ "msdocspythoncontainerwebapp" ]
Következő lépés
Webalkalmazás- üzembe helyezése