Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se explica cómo tomar un proyecto de Python (como una aplicación web) e implementarlo como un contenedor de Docker en Azure. Abarca el flujo de trabajo de contenedorización general, las opciones de implementación de Azure para los contenedores y las configuraciones de contenedor específicas de Python en Azure. La compilación e implementación de contenedores de Docker en Azure sigue un proceso estándar entre lenguajes, con configuraciones específicas de Python en dockerfile, requirements.txty la configuración de marcos web como Django, Flask y FastAPI.
Escenarios de flujo de trabajo de contenedor
En el caso del desarrollo de contenedores de Python, se describen algunos flujos de trabajo típicos para pasar de código a contenedor en la tabla siguiente.
Escenario | Descripción | Flujo de trabajo |
---|---|---|
Dev | Compile imágenes de Docker de Python localmente en el entorno de desarrollo. |
Código: clone el código de la aplicación localmente mediante Git (con Docker instalado). Compilación: use la CLI de Docker, VS Code (con extensiones), PyCharm (con el complemento docker). Se describe en la sección Trabajar con imágenes y contenedores de Docker de Python. Prueba: ejecute y pruebe el contenedor localmente. Inserción: inserte la imagen en un registro de contenedor como Azure Container Registry, Docker Hub o registro privado. Implementación: implemente el contenedor desde el registro en un servicio de Azure. |
Híbrido | Compile imágenes de Docker en Azure, pero inicie el proceso desde el entorno local. |
Código: clone el código localmente (no es necesario para instalar Docker). Compilación: para desencadenar compilaciones en Azure, use VS Code (con extensiones remotas) o la CLI de Azure. Publicar: Publique la imagen compilada en Azure Container Registry. Implementación: implemente el contenedor desde el registro en un servicio de Azure. |
Celeste | Use Azure Cloud Shell para compilar e implementar contenedores completamente en la nube. |
Código: clone el repositorio de GitHub en Azure Cloud Shell. Compilación: use la CLI de Azure o la CLI de Docker en Cloud Shell. Inserción: inserte la imagen en un registro como Azure Container Registry, Docker Hub o registro privado. Implementación: implemente el contenedor desde el registro en un servicio de Azure. |
El objetivo final de estos flujos de trabajo es tener un contenedor que se ejecute en uno de los recursos de Azure que admiten contenedores de Docker, como se muestra en la sección siguiente.
Un entorno de desarrollo puede ser:
- Estación de trabajo local con Visual Studio Code o PyCharm
- Codespaces (un entorno de desarrollo hospedado en la nube)
- Contenedores de desarrollo de Visual Studio (un contenedor como entorno de desarrollo)
Opciones de contenedor de implementación en Azure
Las aplicaciones de contenedor de Python se admiten en los siguientes servicios.
Servicio | Descripción |
---|---|
Aplicación web para contenedores | Azure App Service es una plataforma de hospedaje totalmente administrada para aplicaciones web en contenedores, incluidos sitios web y API web. Admite implementaciones escalables e se integra perfectamente con flujos de trabajo de CI/CD mediante Docker Hub, Azure Container Registry y GitHub. Este servicio es ideal para los desarrolladores que desean una ruta de acceso sencilla y eficaz para implementar aplicaciones en contenedores, a la vez que se benefician de las funcionalidades completas de la plataforma de Azure App Service. Al empaquetar la aplicación y todas sus dependencias en un único contenedor implementable, se obtiene la portabilidad y la facilidad de administración, sin necesidad de administrar la infraestructura.
Ejemplo: Implementación de una aplicación web de Flask o FastPI en Azure App Service. |
Azure Container Apps (ACA) | Azure Container Apps (ACA) es un servicio de contenedores totalmente administrado y sin servidor impulsado por Kubernetes y tecnologías de código abierto como Dapr, KEDA y envoy. Su diseño incorpora procedimientos recomendados del sector y está optimizado para ejecutar contenedores de uso general. ACA abstrae la complejidad de administrar una infraestructura de Kubernetes: no se requiere ni admite el acceso directo a la API de Kubernetes. En su lugar, ofrece construcciones de aplicación de nivel superior, como revisiones, escalado, certificados y entornos para simplificar los flujos de trabajo de desarrollo e implementación. Este servicio es ideal para los equipos de desarrollo que buscan compilar e implementar microservicios en contenedores con una sobrecarga operativa mínima, lo que les permite centrarse en la lógica de la aplicación en lugar de en la administración de la infraestructura. Ejemplo: Implementación de una aplicación web de Flask o FastPI en Azure Container Apps. |
Azure contenedores de instancias (ACI) | Azure Container Instances (ACI) es una oferta sin servidor que proporciona un único pod de Hyper-V contenedores aislados a petición. La facturación se basa en el consumo real de recursos en lugar de la infraestructura asignada previamente, lo que hace que sea adecuado para cargas de trabajo de corta duración o ampliables. A diferencia de otros servicios de contenedor, ACI no incluye compatibilidad integrada con conceptos como el escalado, el equilibrio de carga o los certificados TLS. En su lugar, normalmente funciona como un bloque de creación de contenedores fundamentales, a menudo integrado con servicios de Azure como Azure Kubernetes Service (AKS) para la orquestación. ACI se destaca como opción ligera cuando las abstracciones y características de nivel superior de Azure Container Apps no son necesarias Ejemplo: Creación de una imagen de contenedor para la implementación en Azure Container Instances. (El tutorial no es específico de Python, pero los conceptos que se muestran se aplican a todos los lenguajes). |
Azure Kubernetes Service (AKS) | Azure Kubernetes Service (AKS) es una opción de Kubernetes totalmente administrada en Azure que proporciona un control completo sobre el entorno de Kubernetes. Admite el acceso directo a la API de Kubernetes y puede ejecutar cualquier carga de trabajo estándar de Kubernetes. El clúster completo reside en su suscripción, con las configuraciones y las operaciones del clúster bajo su control y responsabilidad. ACI es ideal para los equipos que buscan una solución de contenedor totalmente administrada, mientras que AKS le proporciona control total sobre el clúster de Kubernetes, lo que requiere administrar configuraciones, redes, escalado y operaciones. Azure controla el plano de control y el aprovisionamiento de infraestructura, pero la operación diaria y la seguridad del clúster están dentro del control del equipo. Este servicio es ideal para los equipos que desean la flexibilidad y la eficacia de Kubernetes con la ventaja adicional de la infraestructura administrada de Azure, a la vez que mantienen la plena propiedad sobre el entorno del clúster.
Ejemplo: Implementación de un clúster de Azure Kubernetes Service mediante la CLI de Azure. |
Funciones de Azure | Azure Functions ofrece una plataforma de funciones como servicio (FaaS) controlada por eventos que permite ejecutar pequeños fragmentos de código (funciones) en respuesta a eventos, sin necesidad de administrar la infraestructura. Azure Functions comparte muchas características con Azure Container Apps en torno a la escala y la integración con eventos, pero está optimizado para funciones de corta duración implementadas como código o contenedores. al para los equipos que buscan desencadenar la ejecución de funciones en eventos; por ejemplo, para enlazar a otros orígenes de datos. Al igual que Azure Container Apps, Azure Functions admite el escalado automático y la integración con orígenes de eventos (por ejemplo, solicitudes HTTP, colas de mensajes o actualizaciones de Blob Storage). Este servicio es ideal para los equipos que crean flujos de trabajo ligeros desencadenados por eventos, como el procesamiento de cargas de archivos o la respuesta a los cambios de base de datos, en Python u otros lenguajes.
Ejemplo: Creación de una función en Linux mediante un contenedor personalizado. |
Para obtener una comparación más detallada de estos servicios, consulte Comparación de aplicaciones de contenedor con otras opciones de contenedor de Azure.
Entornos virtuales y contenedores
Los entornos virtuales de Python aíslan las dependencias del proyecto de las instalaciones de Python de nivel de sistema, lo que garantiza la coherencia entre entornos de desarrollo. Un entorno virtual incluye su propio intérprete aislado de Python, junto con las bibliotecas y scripts necesarios para ejecutar el código de proyecto específico dentro de ese entorno. Las dependencias de los proyectos de Python se administran a través del archivo requirements.txt . Al especificar dependencias en un archivo derequirements.txt , los desarrolladores pueden reproducir el entorno exacto necesario para su proyecto. Este enfoque facilita transiciones más fluidas a implementaciones en contenedores como Azure App Service, donde la coherencia del entorno es esencial para un rendimiento confiable de las aplicaciones.
Sugerencia
En los proyectos de Python en contenedores, los entornos virtuales suelen ser innecesarios porque los contenedores de Docker proporcionan entornos aislados con su propio intérprete y dependencias de Python. Sin embargo, puede usar entornos virtuales para el desarrollo local o las pruebas. Para mantener las imágenes de Docker ajustadas, excluya los entornos virtuales mediante un archivo .dockerignore , lo que impide copiar archivos innecesarios en la imagen.
Puede pensar en contenedores de Docker como ofrecer funcionalidades similares a los entornos virtuales de Python, pero con ventajas más amplias en la reproducibilidad, el aislamiento y la portabilidad. A diferencia de los entornos virtuales, los contenedores de Docker se pueden ejecutar de forma coherente en distintos sistemas operativos y entornos, siempre y cuando esté disponible un entorno de ejecución de contenedor.
Un contenedor de Docker incluye el código del proyecto de Python junto con todo lo que necesita para ejecutarse, como dependencias, configuración del entorno y bibliotecas del sistema. Para crear un contenedor, primero se compila una imagen de Docker a partir del código y la configuración del proyecto y, a continuación, se inicia un contenedor, que es una instancia ejecutable de esa imagen.
Para incluir en contenedores proyectos de Python, los archivos de clave se describen en la tabla siguiente:
Archivo de proyecto | Descripción |
---|---|
requirements.txt | Este archivo contiene la lista definitiva de dependencias de Python necesarias para la aplicación. Docker usa esta lista durante el proceso de compilación de imágenes para instalar todos los paquetes necesarios. Esto garantiza la coherencia entre entornos de desarrollo e implementación. |
Dockerfile | Este archivo contiene instrucciones para compilar la imagen de Docker de Python, incluida la selección de imágenes base, la instalación de dependencias, la copia de código y los comandos de inicio del contenedor. Define el entorno de ejecución completo para la aplicación. Para obtener más información, consulte la sección Instrucciones de Dockerfile para Python. |
.dockerignore | Este archivo especifica los archivos y directorios que se deben excluir al copiar contenido en la imagen de Docker con el COPY comando en el Dockerfile. Este archivo usa patrones similares a .gitignore para definir exclusiones. El archivo .dockerignore admite patrones de exclusión similares a los archivos .gitignore . Para obtener más información, vea archivo .dockerignore. La exclusión de archivos ayuda al rendimiento de la compilación de imágenes, pero también debe usarse para evitar agregar información confidencial a la imagen donde se puede inspeccionar. Por ejemplo, .dockerignore debe contener líneas para omitir .env y .venv (entornos virtuales). |
Configuración de contenedor para marcos web
Normalmente, los marcos web se enlazan a puertos predeterminados (como 5000 para Flask, 8000 para FastAPI). Al implementar contenedores en servicios de Azure, como Azure Container Instances, Azure Kubernetes Service (AKS) o App Service for Containers, es fundamental exponer y configurar explícitamente el puerto de escucha del contenedor para garantizar el enrutamiento adecuado del tráfico entrante. La configuración del puerto correcto garantiza que la infraestructura de Azure pueda dirigir las solicitudes al punto de conexión correcto dentro del contenedor.
Marco web | Puerto |
---|---|
Django | 8.000 |
Matraz | 5000 o 5002 |
FastAPI (uvicorn) | 8000 o 80 |
En la tabla siguiente se muestra cómo establecer el puerto para diferentes soluciones de contenedor de Azure.
Solución de contenedor de Azure | Cómo establecer el puerto de la aplicación web |
---|---|
Aplicación web para contenedores | De forma predeterminada, App Service asume que el contenedor personalizado está escuchando en el puerto 80 o en el puerto 8080. Si el contenedor escucha a otro puerto, establezca la opción WEBSITES_PORT de la aplicación en App Service. Para más información, consulte Configuración de un contenedor personalizado para Azure App Service. |
Aplicaciones de contenedores de Azure | Azure Container Apps le permite exponer la aplicación contenedora a la web pública, a la red virtual o a otras aplicaciones de contenedor dentro del mismo entorno habilitando la entrada. Establezca el targetPort de entrada en el puerto en el que escucha el contenedor para las solicitudes entrantes. El punto de conexión de entrada de la aplicación siempre se expone en el puerto 443. Para obtener más información, consulte Configurar el ingreso HTTPS o TCP en Azure Container Apps. |
Azure Container Instances, Azure Kubernetes | Defines el puerto en el que tu aplicación está escuchando durante la creación de contenedores o pods. La imagen de contenedor debe incluir un marco web, un servidor de aplicaciones (por ejemplo, gunicorn, uvicorn) y, opcionalmente, un servidor web (por ejemplo, nginx). En escenarios más complejos, puede dividir las responsabilidades entre dos contenedores, una para el servidor de aplicaciones y otra para el servidor web. En ese caso, el contenedor de servidores web normalmente expone los puertos 80 o 443 para el tráfico externo. |
Python Dockerfile
Un Dockerfile es un archivo de texto que contiene instrucciones para compilar una imagen de Docker para una aplicación de Python. La primera instrucción normalmente especifica la imagen base desde la que empezar. A continuación, las instrucciones posteriores detallan acciones como instalar el software necesario, copiar archivos de aplicación y configurar el entorno para crear una imagen ejecutable. En la tabla siguiente se proporcionan ejemplos específicos de Python para obtener instrucciones de Dockerfile usadas habitualmente.
Instrucción | Propósito | Ejemplo |
---|---|---|
DESDE | Establece la imagen base para obtener instrucciones posteriores. | FROM python:3.8-slim |
EXPONER | Indica a Docker que el contenedor escucha un puerto especificado en tiempo de ejecución. | EXPOSE 5000 |
COPIAR | Copia archivos o directorios del origen especificado y los agrega al sistema de archivos del contenedor en la ruta de acceso de destino especificada. | COPY . /app |
EJECUTAR | Ejecuta un comando dentro de la imagen de Docker. Por ejemplo, incorpore dependencias. El comando se ejecuta una vez en tiempo de compilación. | RUN python -m pip install -r requirements.txt |
CMD | El comando proporciona el valor predeterminado para ejecutar un contenedor. Solo puede haber una instrucción CMD. | CMD ["gunicorn", "--bind", "0.0.0.0:5000", "wsgi:app"] |
El comando docker build compila imágenes de Docker a partir de un Dockerfile y un contexto. El contexto de una compilación es el conjunto de archivos ubicados en la ruta de acceso o dirección URL especificadas. Normalmente, se compila una imagen a partir de la raíz del proyecto de Python y la ruta de acceso del comando de compilación es "." como se muestra en el ejemplo siguiente.
docker build --rm --pull --file "Dockerfile" --tag "mywebapp:latest" .
El proceso de compilación puede hacer referencia a cualquiera de los archivos del contexto. Por ejemplo, la compilación puede usar una instrucción COPY para hacer referencia a un archivo en el contexto. Este es un ejemplo de un Dockerfile para un proyecto de Python mediante el marco de 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"]
Puede crear un Dockerfile manualmente o crearlo automáticamente con VS Code y la extensión de Docker. Para obtener más información, consulte Generación de archivos de Docker.
El comando docker build forma parte de la CLI de Docker. Cuando se usan IDE como VS Code o PyCharm, los comandos de interfaz de usuario para trabajar con imágenes de Docker llaman al comando de compilación automáticamente y automatizan la especificación de opciones.
Trabajar con imágenes de Python Docker y contenedores
VS Code y PyCharm
Los entornos de desarrollo integrados (IDE), como Visual Studio Code (VS Code) y PyCharm simplifican el desarrollo de contenedores de Python mediante la integración de tareas de Docker en el flujo de trabajo. Con extensiones o complementos, estos IDE simplifican la creación de imágenes de Docker, la ejecución de contenedores y la implementación en servicios de Azure, como App Service o Container Instances. Estas son algunas de las cosas que puede hacer con VS Code y PyCharm.
Descargue y compile imágenes de Docker.
- Cree imágenes en el entorno de desarrollo.
- Compile imágenes de Docker en Azure sin Docker instaladas en el entorno de desarrollo. (Para PyCharm, use la CLI de Azure para compilar imágenes en Azure).
Cree y ejecute contenedores de Docker desde una imagen existente, una imagen extraída o directamente desde un Dockerfile.
Ejecute aplicaciones multicontenedor con Docker Compose.
Conéctese y trabaje con registros de contenedor como Docker Hub, GitLab, JetBrains Space, Docker V2 y otros registros de Docker autohospedados.
(Solo VS Code) Agregue un Dockerfile y archivos de Docker Compose que se adapten a tu proyecto de Python.
Para configurar VS Code y PyCharm para ejecutar contenedores de Docker en el entorno de desarrollo, siga estos pasos.
Si aún no lo ha hecho, instale Azure Tools para VS Code.
Instrucciones | Captura de pantalla |
---|---|
Paso 1: Use MAYÚS + ALT + A para abrir la extensión de Azure y confirmar que está conectado a Azure. También puede seleccionar el icono de Azure en la barra de extensiones de VS Code. Si no ha iniciado sesión, seleccione Iniciar sesión en Azure y siga las indicaciones. Si tiene problemas para acceder a la suscripción de Azure, puede deberse a que está detrás de un proxy. Para resolver problemas de conexión, consulte Conexiones de red en Visual Studio Code. |
![]() ![]() |
Paso 2: Use CTRL + MAYÚS + X para abrir Extensiones, busque la extensión de Docker e instale la extensión. También puede seleccionar el icono Extensiones en la barra de extensiones de VS Code. |
![]() |
Paso 3: Seleccione el icono de Docker en la barra de extensiones, expanda imágenes y haga clic con el botón derecho en una imagen de Docker ejecutándola como contenedor. |
![]() |
Paso 4: Supervisar la salida de ejecución de Docker en la ventana Terminal . |
![]() |
CLI de Azure y CLI de Docker
También puede trabajar con imágenes y contenedores de Docker de Python mediante la CLI de Azure y la CLI de Docker. VS Code y PyCharm tienen terminales donde puede ejecutar estas CLIs.
Use una CLI cuando desee un control más preciso sobre los argumentos de compilación y ejecución, y para la automatización. Por ejemplo, el siguiente comando muestra cómo usar la CLI de Azure az acr build para especificar el nombre de la imagen de Docker.
az acr build --registry <registry-name> \
--resource-group <resource-group> \
--target pythoncontainerwebapp:latest .
Como otro ejemplo, considere el siguiente comando que muestra cómo usar el comando run de la CLI de Docker. En el ejemplo se muestra cómo ejecutar un contenedor de Docker que se comunica con una instancia de MongoDB en el entorno de desarrollo, fuera del contenedor. Los distintos valores para completar el comando son más fáciles de automatizar cuando se especifican en una línea de comandos.
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
Para obtener más información sobre este escenario, consulte Compilación y prueba de una aplicación web de Python en contenedores localmente.
Variables de entorno en contenedores
Los proyectos de Python suelen usar variables de entorno para pasar datos de configuración al código de la aplicación. Este enfoque permite una mayor flexibilidad en distintos entornos. Por ejemplo, los detalles de conexión de base de datos se pueden almacenar en variables de entorno, lo que facilita el cambio entre bases de datos de desarrollo, pruebas y producción sin modificar el código. Esta separación de la configuración del código promueve implementaciones más limpias y mejora la seguridad y el mantenimiento.
Los paquetes como python-dotenv se usan a menudo para leer pares clave-valor de un archivo .env y establecerlos como variables de entorno. Un archivo .env es útil cuando se ejecuta en un entorno virtual, pero no se recomienda al trabajar con contenedores. No copie el archivo .env en la imagen de Docker, especialmente si contiene información confidencial y el contenedor se hará público. Use el archivo .dockerignore para excluir que los archivos se copien en la imagen de Docker. Para obtener más información, consulte la sección Entornos virtuales y contenedores de este artículo.
Puede pasar variables de entorno a contenedores de varias maneras:
- Se define en el Dockerfile como instrucciones enV .
- Se pasa como
--build-arg
argumentos con el comando de compilación de Docker. - Se pasa como argumentos de
--secret
con el comando build de Docker y BuildKit back-end. - Se pasa como argumentos
--env
o--env-file
con el comando Docker run.
Las dos primeras opciones tienen el mismo inconveniente que se indica con los archivos .env , es decir, que está codificando información potencialmente confidencial en una imagen de Docker. Puede inspeccionar una imagen de Docker y ver las variables de entorno, por ejemplo, con el comando docker image inspect.
La tercera opción con BuildKit permite pasar información secreta que se usará en el Dockerfile para compilar imágenes de Docker de una manera segura que no termine almacenada en la imagen final.
La cuarta opción de pasar variables de entorno con el comando Docker run significa que la imagen de Docker no contiene las variables. Sin embargo, las variables siguen siendo visibles inspeccionando la instancia de contenedor (por ejemplo, con la inspección del contenedor de Docker). Esta opción puede ser aceptable cuando el acceso a la instancia de contenedor se controla o en escenarios de pruebas o desarrollo.
Este es un ejemplo de cómo pasar variables de entorno mediante el comando run de la CLI de Docker y mediante el --env
argumento .
# 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>
En VS Code (extensión de Docker) o PyCharm (complemento de Docker), las herramientas de interfaz de usuario simplifican la administración de imágenes y contenedores de Docker mediante la ejecución de comandos estándar de la CLI de Docker (como docker build, docker run) en segundo plano.
Por último, especificar variables de entorno al implementar un contenedor en Azure es diferente de usar variables de entorno en el entorno de desarrollo. Por ejemplo:
En el caso de Web App for Containers, se configuran las opciones de la aplicación durante la configuración de App Service. Esta configuración está disponible para el código de la aplicación como variables de entorno y se puede acceder a ella mediante el patrón estándar os.environ. Puede cambiar los valores después de la implementación inicial cuando sea necesario. Para obtener más información, consulte Access app settings as environment variables (Configuración de la aplicación de Access como variables de entorno).
Para Azure Container Apps, puede configurar variables de entorno durante la configuración inicial de la aplicación contenedora. La modificación posterior de las variables de entorno crea una revisión del contenedor. Además, Azure Container Apps permite definir secretos en el nivel de aplicación y, a continuación, hacer referencia a ellos en variables de entorno. Para obtener más información, consulte Secretos administrados en Azure Container Apps.
Como otra opción, puede usar Service Connector para ayudarle a conectar los servicios de proceso de Azure a otros servicios de respaldo. Este servicio configura la configuración de red y la información de conexión (por ejemplo, la generación de variables de entorno) entre los servicios de proceso y los servicios de respaldo de destino en el plano de administración.
Visualización de registros de contenedor
Vea los registros de instancia de contenedor para ver la salida de mensajes de diagnóstico del código y solucionar problemas en el código del contenedor. Estas son varias maneras de ver los registros al ejecutar un contenedor en el entorno de desarrollo:
Al ejecutar un contenedor con VS Code o PyCharm, como se muestra en la sección VS Code y PyCharm, puede ver los registros en las ventanas de terminal abiertas cuando se ejecuta Docker.
Si usa el comando run de la CLI de Docker con la marca interactiva
-it
, verá la salida siguiendo el comando.En Docker Desktop, también puede ver los registros de un contenedor en ejecución.
Al implementar un contenedor en Azure, también tiene acceso a los registros de contenedor. Estos son varios servicios de Azure y cómo acceder a los registros de contenedor en Azure Portal.
Servicio de Azure | Acceso a los registros en Azure Portal |
---|---|
Aplicación web para contenedores | Vaya al recurso Diagnosticar y resolver problemas para ver los registros. El diagnóstico es una experiencia inteligente e interactiva para ayudarle a solucionar problemas de la aplicación sin que se requiera ninguna configuración. Para obtener una vista en tiempo real de los registros, vaya alflujo de registro de - . Para obtener consultas y configuraciones de registros más detalladas, consulte los demás recursos en Supervisión. |
Azure Container Apps (Aplicaciones de Contenedores de Azure) | Vaya al recurso de entorno Diagnóstico y solución de problemas para solucionar problemas de entorno. Con mayor frecuencia, se quiere ver los registros de contenedor. En el recurso de contenedor, en Administración - derevisiones de aplicaciones, seleccione la revisión y, desde allí, puede ver los registros del sistema y de la consola. Para obtener consultas de registro y configuración más detalladas, consulte los recursos en Supervisión. |
Azure Container Instances (Instancias de Contenedor de Azure) | Vaya al recurso Contenedores y seleccione Registros. |
Para estos servicios, estos son los comandos de la CLI de Azure para acceder a los registros.
Servicio de Azure | Comando de la CLI de Azure para acceder a los registros |
---|---|
Aplicación web para contenedores | az webapp log |
Azure Container Apps (Aplicaciones de Contenedores de Azure) | az containerapps logs |
Azure Container Instances (Instancias de Contenedor de Azure) | az container logs |
También se admite la visualización de registros en VS Code. Debe tener instaladas las herramientas de Azure para VS Code . A continuación se muestra un ejemplo de visualización de registros de Web Apps for Containers (App Service) en VS Code.