Sdílet prostřednictvím


Přehled kontejnerových aplikací Pythonu v Azure

Tento článek vysvětluje, jak použít projekt Pythonu , například webovou aplikaci, a nasadit ho jako kontejner Dockeru v Azure. Zahrnuje obecný pracovní postup kontejnerizace, možnosti nasazení Azure pro kontejnery a konfigurace kontejnerů specifické pro Python v Rámci Azure. Sestavování a nasazování kontejnerů Dockeru v Azure se řídí standardním procesem napříč jazyky, přičemž konfigurace specifické pro Python v souboru Dockerfile, requirements.txta nastavení pro webové architektury, jako jsou Django, Flask a FastAPI.

Scénáře pracovních postupů kontejnerů

V případě vývoje kontejnerů Pythonu jsou některé typické pracovní postupy pro přesun z kódu do kontejneru popsány v následující tabulce.

Scénář Popis Pracovní postup
Dev Vytvářejte Pythonové obrazy Dockeru místně ve svém vývojovém prostředí. Kód: Místní klonování kódu aplikace pomocí Gitu (s nainstalovaným Dockerem)

Sestavení: Použití Docker CLI, VS Code (s rozšířeními), PyCharm (s modulem plug-in Docker). Popsané v části Práce s imagemi a kontejnery Dockeru v Pythonu

Test: Spusťte a otestujte kontejner místně.

Push: Přesuňte image do registru kontejneru, jako je Azure Container Registry, Docker Hub nebo privátní registr.

Nasazení: Nasaďte kontejner z registru do služby Azure.
Hybridní model Sestavte image Dockeru v Azure, ale zahajte proces z místního prostředí. Kód: Kód naklonujte místně (není nutné pro instalaci Dockeru).

Sestavení: K aktivaci sestavení v Azure použijte VS Code (se vzdálenými rozšířeními) nebo Azure CLI.

Push: Nahrajte vytvořený obraz do služby Azure Container Registry.

Nasazení: Nasaďte kontejner z registru do služby Azure.
Azurový Pomocí Azure Cloud Shellu můžete vytvářet a nasazovat kontejnery zcela v cloudu. Kód: Naklonujte úložiště GitHub v Azure Cloud Shellu.

Sestavení: Použijte Azure CLI nebo Docker CLI v Cloud Shellu.

Vytlačení: Vytlačte obraz do registrů, jako jsou Azure Container Registry, Docker Hub nebo privátní registry.

Nasazení: Nasaďte kontejner z registru do služby Azure.

Konečným cílem těchto pracovních postupů je mít kontejner spuštěný v jednom z prostředků Azure podporujících kontejnery Dockeru, jak je uvedeno v další části.

Vývojové prostředí může být:

  • Vaše osobní pracovní stanice s Visual Studio Code nebo PyCharm
  • Codespaces (vývojové prostředí hostované v cloudu)
  • Visual Studio Dev Containers (kontejner jako vývojové prostředí)

Možnosti kontejnerových nasazení v Azure

Kontejnerové aplikace Pythonu se podporují v následujících službách.

Služba Popis
Webová aplikace pro kontejnery Azure App Service je plně spravovaná hostitelská platforma pro kontejnerizované webové aplikace, včetně webů a webových rozhraní API. Podporuje škálovatelné nasazení a bezproblémově se integruje s pracovními postupy CI/CD pomocí Docker Hubu, Azure Container Registry a GitHubu. Tato služba je ideální pro vývojáře, kteří chtějí jednoduchou a efektivní cestu k nasazení kontejnerizovaných aplikací, a zároveň využívat výhod všech funkcí platformy Azure App Service. Zabalením aplikace a všech jejích závislostí do jediného nasaditelného kontejneru získáte přenositelnost i snadnou správu – aniž byste museli spravovat infrastrukturu.

Příklad: Nasazení webové aplikace Flask nebo FastPI ve službě Azure App Service
Azure Container Apps (ACA) Azure Container Apps (ACA) je plně spravovaná služba bezserverového kontejneru využívající Kubernetes a opensourcové technologie, jako je Dapr, KEDA a envoy. Jeho návrh zahrnuje oborové osvědčené postupy a je optimalizovaný pro spouštění kontejnerů pro obecné účely. ACA abstrahuje složitost správy infrastruktury Kubernetes – přímý přístup k rozhraní Kubernetes API se nevyžaduje ani nepodporuje. Místo toho nabízí konstrukce aplikací vyšší úrovně, jako jsou revize, škálování, certifikáty a prostředí pro zjednodušení pracovních postupů vývoje a nasazení. Tato služba je ideální pro vývojové týmy, které chtějí vytvářet a nasazovat kontejnerizované mikroslužby s minimální provozní režií, což jim umožňuje soustředit se místo správy infrastruktury na aplikační logiku.

Příklad: Nasazení webové aplikace Flask nebo FastPI v Azure Container Apps
Azure Container Instances (ACI) Azure Container Instances (ACI) je bezserverová nabídka, která poskytuje jeden pod Hyper-V izolovaných kontejnerů na vyžádání. Fakturace je založená na skutečné spotřebě prostředků, nikoli na předem přidělené infrastruktuře, takže je vhodná pro krátkodobé nebo nárazové úlohy. Na rozdíl od jiných služeb kontejnerů ACI nezahrnuje integrovanou podporu konceptů, jako je škálování, vyrovnávání zatížení nebo certifikáty TLS. Místo toho obvykle funguje jako základní stavební blok kontejneru, často integrovaný se službami Azure, jako je Azure Kubernetes Service (AKS) pro orchestraci. ACI exceluje jako lehká volba, když nejsou potřeba abstrakce a funkce vyšší úrovně Azure Container Apps

Příklad: Vytvoření image kontejneru pro nasazení do služby Azure Container Instances. (Kurz není specifický pro Python, ale uvedené koncepty platí pro všechny jazyky.)
Azure Kubernetes Service (AKS) Azure Kubernetes Service (AKS) je plně spravovaná možnost Kubernetes v Azure, která poskytuje úplnou kontrolu nad prostředím Kubernetes. Podporuje přímý přístup k rozhraní Kubernetes API a může spouštět jakoukoli standardní úlohu Kubernetes. Celý cluster se nachází ve vašem předplatném s konfiguracemi a operacemi clusteru v rámci vaší kontroly a odpovědnosti. ACI je ideální pro týmy, které hledají plně spravované řešení kontejnerů, zatímco AKS poskytuje úplnou kontrolu nad clusterem Kubernetes a vyžaduje správu konfigurací, sítí, škálování a operací. Azure zpracovává řídicí rovinu a zřizování infrastruktury, ale každodenní provoz a zabezpečení clusteru jsou v rámci řízení vašeho týmu. Tato služba je ideální pro týmy, které chtějí flexibilitu a výkon Kubernetes s přidanou výhodou spravované infrastruktury Azure, a přitom zachovat úplné vlastnictví v prostředí clusteru.

Příklad: Nasazení clusteru Azure Kubernetes Service pomocí Azure CLI
Azure Functions Azure Functions nabízí platformu FaaS (vystavenou událostem, bezserverovou funkci jako službu), která umožňuje spouštět malé části kódu (funkce) bez nutnosti spravovat infrastrukturu, v reakci na události. Azure Functions sdílí mnoho charakteristik s Azure Container Apps v rámci škálování a integrace s událostmi, ale je optimalizovaná pro krátkodobé funkce nasazené jako kód nebo kontejnery. pro týmy, které chtějí spustit provádění funkcí při událostech; například k vytvoření propojení s jinými zdroji dat. Podobně jako Azure Container Apps, Azure Functions podporují automatické škálování a integraci se zdroji událostí (například požadavky HTTP, fronty zpráv nebo aktualizace úložiště objektů blob). Tato služba je ideální pro týmy vytvářející jednoduché pracovní postupy aktivované událostmi, jako je zpracování nahrávání souborů nebo reakce na změny databáze v Pythonu nebo jiných jazycích.

Příklad: Vytvoření funkce v Linuxu pomocí vlastního kontejneru

Podrobnější porovnání těchto služeb najdete v tématu Porovnání container Apps s dalšími možnostmi kontejneru Azure.

Virtuální prostředí a kontejnery

Virtuální prostředí v Pythonu izolují závislosti projektů od instalací Pythonu na úrovni systému a zajišťují konzistenci napříč vývojovými prostředími. Virtuální prostředí zahrnuje vlastní izolovaný interpret Pythonu spolu s knihovnami a skripty potřebnými ke spuštění konkrétního kódu projektu v daném prostředí. Závislosti pro projekty Pythonu se spravují prostřednictvím requirements.txt souboru. Zadáním závislostí v souboru requirements.txt můžou vývojáři reprodukovat přesné prostředí potřebné pro svůj projekt. Tento přístup usnadňuje plynulejší přechody na kontejnerizovaná nasazení, jako je Azure App Service, kde konzistence prostředí je nezbytná pro spolehlivý výkon aplikací.

Návod

V kontejnerizovaných projektech Pythonu jsou virtuální prostředí obvykle nepotřebná, protože kontejnery Dockeru poskytují izolovaná prostředí s vlastním interpretem Pythonu a závislostmi. Virtuální prostředí ale můžete použít pro místní vývoj nebo testování. Pokud chcete zachovat štíhlou image Dockeru, vylučte virtuální prostředí pomocí souboru .dockerignore , který brání kopírování nepotřebných souborů do image.

Kontejnery Dockeru si můžete představit jako nabízení funkcí podobných virtuálním prostředím Pythonu, ale s širšími výhodami reprodukovatelnosti, izolace a přenositelnosti. Na rozdíl od virtuálních prostředí můžou kontejnery Dockeru běžet konzistentně napříč různými operačními systémy a prostředími, pokud je k dispozici modul runtime kontejneru.

Kontejner Dockeru obsahuje kód projektu Pythonu spolu se vším, co potřebuje ke spuštění, jako jsou závislosti, nastavení prostředí a systémové knihovny. Pokud chcete vytvořit kontejner, nejprve vytvoříte image Dockeru z kódu a konfigurace projektu a pak spustíte kontejner, což je spustitelná instance této image.

Pro kontejnerizaci projektů Pythonu jsou klíčové soubory popsané v následující tabulce:

Soubor projektu Popis
requirements.txt Tento soubor obsahuje konečný seznam závislostí Pythonu potřebných pro vaši aplikaci. Docker používá tento seznam během procesu sestavení image k instalaci všech požadovaných balíčků. Tím zajistíte konzistenci mezi vývojovými a nasazeními prostředí.
Soubor Dockerfile Tento soubor obsahuje pokyny pro sestavení image Dockeru v Pythonu, včetně výběru základní image, instalace závislostí, kopírování kódu a spouštěcích příkazů kontejneru. Definuje kompletní spouštěcí prostředí pro vaši aplikaci. Další informace najdete v části Pokyny k souboru Dockerfile pro Python.
.dockerignore Tento soubor určuje soubory a adresáře, které by se měly vyloučit při kopírování obsahu do image Dockeru COPY pomocí příkazu v souboru Dockerfile. Tento soubor používá vzory podobné .gitignore k definování vyloučení. Soubor .dockerignore podporuje vzory vyloučení podobné souborům .gitignore . Další informace naleznete v souboru .dockerignore.

Vynechání souborů zlepšuje výkon při vytváření obrazu, ale mělo by se také použít k tomu, aby se zabránilo přidávání citlivých informací do obrazu, kde mohou být přezkoumány. Například .dockerignore by měl obsahovat řádky pro ignorování .env a .venv (virtuální prostředí).

Nastavení kontejneru pro webové architektury

Webové frameworky se obvykle připojují k výchozím portům (například 5000 pro Flask, 8000 pro FastAPI). Při nasazování kontejnerů do služeb Azure, jako jsou Azure Container Instances, Azure Kubernetes Service (AKS) nebo App Service for Containers, je nezbytné explicitně zveřejnit a nakonfigurovat port naslouchání kontejneru, abyste zajistili správné směrování příchozího provozu. Konfigurace správného portu zajišťuje, že infrastruktura Azure může směrovat požadavky na správný koncový bod uvnitř kontejneru.

Webová architektura Přístav
Django 8 000
Baňka 5000 nebo 5002
FastAPI (uvicorn) 8000 nebo 80

Následující tabulka ukazuje, jak nastavit port pro různá řešení kontejnerů Azure.

Řešení kontejneru Azure Nastavení portu webové aplikace
Webová aplikace pro kontejnery Služba App Service ve výchozím nastavení předpokládá, že váš vlastní kontejner naslouchá na portu 80 nebo portu 8080. Pokud váš kontejner naslouchá jinému portu, nastavte nastavení aplikace WEBSITES_PORT ve vaší aplikaci App Service. Další informace najdete v tématu Konfigurace vlastního kontejneru pro Azure App Service.
Azure kontejnerové aplikace Azure Container Apps umožňuje zpřístupnit aplikaci kontejneru pro veřejný web, pro vaši virtuální síť nebo pro jiné kontejnerové aplikace ve stejném prostředí povolením přístupu. Nastavte příchozí přenos dat targetPort na port, na který kontejner naslouchá příchozím požadavkům. Koncový bod příchozího přenosu dat aplikace je vždy vystavený na portu 443. Další informace najdete v tématu Nastavení příchozího přenosu dat HTTPS nebo TCP v Azure Container Apps.
Azure Container Instances, Azure Kubernetes Definujete port, na kterém vaše aplikace naslouchá během vytváření kontejneru nebo podu. Image kontejneru by měla obsahovat webovou architekturu, aplikační server (například gunicorn, uvicorn) a volitelně webový server (například nginx). Ve složitějších scénářích můžete rozdělit zodpovědnosti mezi dva kontejnery – jednu pro aplikační server a druhou pro webový server. V takovém případě kontejner webového serveru obvykle zveřejňuje porty 80 nebo 443 pro externí provoz.

Python Dockerfile

Soubor Dockerfile je textový soubor, který obsahuje pokyny k vytvoření image Dockeru pro aplikaci v Pythonu. První instrukce obvykle určuje základní image, od které se má začít. Následné pokyny pak podrobně uvádějí akce, jako je instalace potřebného softwaru, kopírování souborů aplikací a konfigurace prostředí pro vytvoření spustitelné image. Následující tabulka obsahuje příklady specifické pro Python pro běžně používané pokyny k souboru Dockerfile.

Pokyn Účel Příklad
Z Nastaví základní image pro další pokyny. FROM python:3.8-slim
ODHALIT Říká Dockeru, že kontejner naslouchá zadanému portu za běhu. EXPOSE 5000
KOPÍROVAT Zkopíruje soubory nebo adresáře ze zadaného zdroje a přidá je do systému souborů kontejneru v zadané cílové cestě. COPY . /app
BĚŽET Spustí příkaz uvnitř image Dockeru. Můžete například přidat závislosti. Příkaz se spustí jednou v době sestavení. RUN python -m pip install -r requirements.txt
CMD Příkaz poskytuje výchozí nastavení pro spuštění kontejneru. K dispozici může být pouze jedna instrukce CMD. CMD ["gunicorn", "--bind", "0.0.0.0:5000", "wsgi:app"]

Příkaz sestavení Dockeru sestaví image Dockeru ze souboru Dockerfile a kontextu. Kontext sestavení je sada souborů umístěných v zadané cestě nebo adrese URL. Obvykle sestavíte image z kořenového adresáře projektu Pythonu a cesta příkazu sestavení je ". jak je znázorněno v následujícím příkladu.

docker build --rm --pull  --file "Dockerfile"  --tag "mywebapp:latest"  .

Proces sestavení může odkazovat na libovolný soubor v kontextu. Sestavení může například pomocí instrukce COPY odkazovat na soubor v kontextu. Tady je příklad souboru Dockerfile pro projekt Pythonu pomocí architektury Flask :

FROM python:3.8-slim

EXPOSE 5000

# Keeps Python from generating .pyc files in the container.
ENV PYTHONDONTWRITEBYTECODE=1

# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1

# Install pip requirements.
COPY requirements.txt .
RUN python -m pip install -r requirements.txt

WORKDIR /app
COPY . /app

# Creates a non-root user with an explicit UID and adds permission to access the /app folder.
RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app
USER appuser

# Provides defaults for an executing container; can be overridden with Docker CLI.
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "wsgi:app"]

Soubor Dockerfile můžete vytvořit ručně nebo ho vytvořit automaticky pomocí VS Code a rozšíření Dockeru. Další informace najdete v tématu Generování souborů Dockeru.

Příkaz sestavení Dockeru je součástí rozhraní příkazového řádku Dockeru. Pokud používáte idEs, jako je VS Code nebo PyCharm, příkazy uživatelského rozhraní pro práci s imagemi Dockeru volají příkaz sestavení za vás a automatizují zadávání možností.

Práce s imagemi a kontejnery Dockeru v Pythonu

VS Code a PyCharm

Integrovaná vývojová prostředí (ID) jako Visual Studio Code (VS Code) a PyCharm zjednodušují vývoj kontejnerů Pythonu integrací úloh Dockeru do pracovního postupu. Díky rozšířením nebo modulům plug-in tyto idE zjednodušují sestavování imagí Dockeru, spouštění kontejnerů a nasazování do služeb Azure, jako je App Service nebo Container Instances. Tady je několik věcí, které můžete dělat s VS Code a PyCharm.

  • Stáhněte a sestavte image Dockeru.

    • Vytvářejte image ve vývojovém prostředí.
    • Vytváření imagí Dockeru v Azure bez nainstalovaného Dockeru ve vývojovém prostředí (Pro PyCharm použijte Azure CLI k vytváření imagí v Azure.)
  • Vytvořte a spusťte kontejnery Dockeru z existující image, načítané image nebo přímo ze souboru Dockerfile.

  • Spouštění vícekontejnerových aplikací pomocí Docker Compose

  • Připojte se k registrům kontejnerů, jako jsou Docker Hub, GitLab, JetBrains Space, Docker V2 a další místní registry Dockeru.

  • (pouze VS Code) Přidejte soubory Dockerfile a Docker compose, které jsou přizpůsobené vašemu projektu Pythonu.

Pokud chcete nastavit VS Code a PyCharm pro spouštění kontejnerů Dockeru ve vývojovém prostředí, postupujte následovně.

Pokud jste to ještě neudělali, nainstalujte Azure Tools for VS Code.

Instrukce Snímek obrazovky
Krok 1: Pomocí kombinace kláves SHIFT + ALT + A otevřete rozšíření Azure a potvrďte, že jste připojení k Azure.

Na panelu rozšíření VS Code můžete také vybrat ikonu Azure .

Pokud nejste přihlášení, vyberte Přihlásit se k Azure a postupujte podle pokynů.

Pokud máte potíže s přístupem k předplatnému Azure, může to být proto, že jste za proxy serverem. Pokud chcete vyřešit problémy s připojením, přečtěte si téma Síťová připojení v nástroji Visual Studio Code.
Snímek obrazovky znázorňující vzhled nástrojů Azure Po přihlášení Snímek obrazovky znázorňující, jak Azure Tools vypadá, pokud nejste přihlášení
Krok 2: Pomocí kombinace kláves CTRL + SHIFT + X otevřete rozšíření, vyhledejte rozšíření Dockeru a nainstalujte rozšíření.

Na panelu rozšíření VS Code můžete také vybrat ikonu Rozšíření .
Snímek obrazovky znázorňující, jak přidat rozšíření Dockeru do VS Code
Krok 3: Vyberte ikonu Dockeru na panelu rozšíření, rozbalte image a klikněte pravým tlačítkem myši na image Dockeru, která se spustí jako kontejner. Snímek obrazovky znázorňující použití rozšíření Dockeru ve VS Code ke spuštění kontejneru z image Dockeru
Krok 4: Monitorování výstupu spuštění Dockeru v okně terminálu Snímek obrazovky znázorňující příklad spuštění kontejneru ve VS Code

Azure CLI a Docker CLI

S imagemi a kontejnery Dockeru v Pythonu můžete pracovat také pomocí Azure CLI a Rozhraní příkazového řádku Dockeru. VS Code i PyCharm mají terminály, kde můžete tyto rozhraní CLI spustit.

Rozhraní příkazového řádku použijte, když chcete jemně ovládat argumenty sestavení a spouštění a pro automatizaci. Například následující příkaz ukazuje, jak pomocí azure CLI az acr build zadat název image Dockeru.

az acr build --registry <registry-name> \
  --resource-group <resource-group> \
  --target pythoncontainerwebapp:latest .

Jako další příklad vezměte v úvahu následující příkaz, který ukazuje, jak použít příkaz spuštění rozhraní příkazového řádku Dockeru. Příklad ukazuje, jak spustit kontejner Dockeru, který komunikuje s instancí MongoDB ve vašem vývojovém prostředí mimo kontejner. Různé hodnoty pro dokončení příkazu se dají snadněji automatizovat při zadání v příkazovém řádku.

docker run --rm -it \
  --publish <port>:<port> --publish 27017:27017 \
  --add-host mongoservice:<your-server-IP-address> \
  --env CONNECTION_STRING=mongodb://mongoservice:27017 \
  --env DB_NAME=<database-name> \
  --env COLLECTION_NAME=<collection-name> \
  containermongo:latest  

Další informace o tomto scénáři najdete v tématu Sestavení a otestování kontejnerizované webové aplikace v Pythonu místně.

Proměnné prostředí v kontejnerech

Projekty Pythonu často používají proměnné prostředí k předávání konfiguračních dat do kódu aplikace. Tento přístup umožňuje větší flexibilitu v různých prostředích. Podrobnosti o připojení k databázi se dají například ukládat do proměnných prostředí, což usnadňuje přepínání mezi vývojovými, testovacími a produkčními databázemi beze změny kódu. Toto oddělení konfigurace od kódu podporuje čistější nasazení a zvyšuje zabezpečení a udržovatelnost.

Balíčky jako python-dotenv se často používají ke čtení párů klíč-hodnota ze souboru .env a jejich nastavení jako proměnné prostředí. Soubor .env je užitečný při spuštění ve virtuálním prostředí, ale nedoporučuje se při práci s kontejnery. Nekopírujte soubor .env do image Dockeru, zejména pokud obsahuje citlivé informace a kontejner se zveřejní. Pomocí souboru .dockerignore vyloučíte soubory z kopírování do image Dockeru. Další informace najdete v části Virtuální prostředí a kontejnery v tomto článku.

Proměnné prostředí můžete do kontejnerů předat několika způsoby:

  1. Pokyny ENV definované v souboru Dockerfile.
  2. Předány jako --build-arg argumenty s příkazem Docker build.
  3. Předané jako --secret argumenty pomocí příkazu Docker build a backendu BuildKit.
  4. Předané jako --env nebo --env-file argumenty pomocí příkazu Docker Run .

První dvě možnosti mají stejnou nevýhodu jako u souborů .env , konkrétně že pevně zakódujete potenciálně citlivé informace do image Dockeru. Můžete zkontrolovat image Dockeru a zobrazit proměnné prostředí, například pomocí příkazu docker image zkontrolovat.

Třetí možnost BuildKitu umožňuje předávat tajné informace, které se mají použít v souboru Dockerfile k vytváření obrazů Dockeru bezpečným způsobem, aniž by skončily uložené v konečném obrazu.

Čtvrtá možnost předání proměnných prostředí příkazem Docker Run znamená, že image Dockeru neobsahuje proměnné. Proměnné jsou ale stále viditelné při kontrole instance kontejneru (například při kontrole kontejneru Dockeru). Tato možnost může být přijatelná, pokud je přístup k instanci kontejneru řízený nebo ve scénářích testování nebo vývoje.

Tady je příklad předávání proměnných prostředí pomocí příkazu Spuštění rozhraní příkazového řádku Dockeru a použití argumentu --env .

# PORT=8000 for Django and 5000 for Flask
export PORT=<port-number>

docker run --rm -it \
  --publish $PORT:$PORT \
  --env CONNECTION_STRING=<connection-info> \
  --env DB_NAME=<database-name> \
  <dockerimagename:tag>

Nástroje uživatelského rozhraní v editoru VS Code (rozšíření Dockeru) nebo PyCharm (modul plug-in Docker) zjednodušují správu imagí a kontejnerů Dockeru spouštěním standardních příkazů docker CLI (jako je docker build, docker run) na pozadí.

Nakonec se určení proměnných prostředí při nasazování kontejneru v Azure liší od použití proměnných prostředí ve vývojovém prostředí. Například:

  • U služby Web App for Containers nakonfigurujete nastavení aplikace během konfigurace služby App Service. Tato nastavení jsou dostupná pro kód aplikace jako proměnné prostředí a přístupná pomocí standardního vzoru os.environ . Hodnoty můžete po počátečním nasazení v případě potřeby změnit. Další informace najdete v tématu Nastavení aplikace pro Access jako proměnné prostředí.

  • Pro Azure Container Apps nakonfigurujete proměnné prostředí během počáteční konfigurace aplikace kontejneru. Následná úprava proměnných prostředí vytvoří revizi kontejneru. Kromě toho azure Container Apps umožňuje definovat tajné kódy na úrovni aplikace a pak na ně odkazovat v proměnných prostředí. Další informace najdete v tématu Správa tajných kódů v Azure Container Apps.

Jako další možnost můžete pomocí konektoru služeb připojit výpočetní služby Azure k dalším backingovým službám. Tato služba konfiguruje nastavení sítě a informace o připojení (například generování proměnných prostředí) mezi výpočetními službami a cílovými backingovými službami v rovině správy.

Zobrazení protokolů kontejneru

Prohlédněte si záznamy instancí kontejneru, abyste zjistili diagnostické zprávy z kódu a mohli řešit problémy v kódu kontejneru. Tady je několik způsobů, jak zobrazit protokoly při spuštění kontejneru ve vývojovém prostředí:

  • Při spuštění kontejneru s VS Code nebo PyCharm, jak je znázorněno v části VS Code a PyCharm, lze zobrazit protokoly v oknech terminálu otevřených, když se provádí příkaz Docker run.

  • Pokud používáte příkaz Docker CLI spustit s interaktivním příznakem -it, zobrazí se výstup za příkazem.

  • V Docker Desktopu můžete také zobrazit protokoly pro spuštěný kontejner.

Při nasazování kontejneru v Azure máte také přístup k protokolům kontejneru. Tady je několik služeb Azure a přístup k protokolům kontejnerů na webu Azure Portal.

Služba Azure Přístup k protokolům na webu Azure Portal
Webová aplikace pro kontejnery Přejděte do části Diagnostika a řešení problémů a zobrazte protokoly. Diagnostika je inteligentní a interaktivní prostředí, které vám pomůže řešit potíže s aplikací bez nutnosti konfigurace. Pokud chcete zobrazit protokoly v reálném čase, přejděte dostreamu protokolu - . Podrobnější dotazy protokolu a konfigurace najdete v dalších prostředcích v části Monitorování.
Azure Container Apps (aplikace pro kontejnery) Přejděte k prostředku pro prostředí Diagnostika a řešení problémů pro řešení problémů prostředí. Častěji chcete zobrazit protokoly kontejneru. V prostředku kontejneru v části aplikace - Správa revizí vyberte revizi a odtud můžete zobrazit systémové a konzolové protokoly. Podrobnější dotazy a konfigurace protokolů najdete v části Monitorování prostředků.
Azure Container Instances (služba pro práci s kontejnery) Přejděte do prostředku Kontejnery a vyberte Protokoly.

Pro tyto služby jsou tady příkazy Azure CLI pro přístup k protokolům.

Služba Azure Příkaz Azure CLI pro přístup k protokolům
Webová aplikace pro kontejnery az webapp log
Azure Container Apps (aplikace pro kontejnery) az containerapps logs
Azure Container Instances (služba pro práci s kontejnery) az container logs

K dispozici je také podpora zobrazení protokolů ve VS Code. Musíte mít nainstalované nástroje Azure Tools for VS Code . Níže je příklad zobrazení protokolů Služby Web Apps for Containers (App Service) ve VS Code.

Snímek obrazovky znázorňující, jak zobrazit protokoly ve VS Code for Web Apps for Containers

Další kroky