Compartir vía


Configuración de las herramientas de contenedor de Visual Studio

Mediante la configuración de Visual Studio, puede controlar algunos aspectos del funcionamiento de Visual Studio con los contenedores de Docker, incluida la configuración que afecta al rendimiento y al uso de recursos cuando trabaja con contenedores de Docker.

Configuración de las herramientas de contenedor

En el menú principal, elija Herramientas > Opciones y expanda Herramientas de contenedor > Configuración . Aparecerá la configuración de las herramientas de contenedor.

Configuración general de las herramientas de contenedor:

Opciones de las herramientas de contenedor de Visual Studio que muestran: Instalar Docker Desktop si es necesario y Confiar en certificado SSL de ASP.NET Core.

Configuración de un proyecto único y Docker Compose de las herramientas de contenedor:

Opciones de las herramientas de contenedor de Visual Studio que muestran: Terminar contenedores al cerrar el proyecto, Extraer las imágenes de Docker necesarias al abrir el proyecto y Ejecutar contenedores al abrir el proyecto.

Opciones de las herramientas de contenedor de Visual Studio, que muestran: eliminación de contenedores al cerrar el proyecto, extracción de las imágenes de Docker requeridas al abrir el proyecto, ejecución de contenedores al abrir el proyecto, ejecución de un servicio en contenedores para habilitar la autenticación de Azure y ejecución de un servicio en contenedores para habilitar la recarga activa de XAML.

La tabla siguiente puede ayudarle a decidir cómo configurar estas opciones.

En la siguiente tabla se describe la configuración general:

Nombre Valor predeterminado Se aplica a Descripción
Instalar Docker Desktop si es necesario Preguntarme Proyecto único, Docker Compose Elija si desea que se le pregunte si Docker Desktop no está instalado.
Confiar en el certificado SSL de ASP.NET Core Preguntarme Proyectos de ASP.NET Core 2.x Cuando se establece en Preguntarme, si el certificado SSL localhost no es de confianza, Visual Studio le solicitará confirmación cada vez que ejecute un proyecto de ASP.NET Core 2.x.

En la siguiente tabla se describe la configuración de Proyecto único y Docker Compose:

Nombre Valor predeterminado Se aplica a Descripción
Extraer las imágenes de Docker necesarias al abrir el proyecto True Proyecto único, Docker Compose Para aumentar el rendimiento al cargar proyectos, Visual Studio iniciará una operación docker pull en segundo plano para que cuando se esté listo para ejecutar el código, la imagen ya esté descargada o en proceso de descarga. Si simplemente carga proyectos y explora código, puede establecer esta opción en False para evitar la descarga de imágenes de contenedor que no son necesarias.
Aplicar "pull" a las imágenes de Docker actualizadas al abrir el proyecto Proyectos de .NET Core Proyecto único, Docker Compose Al abrir un proyecto, busque actualizaciones de imágenes y descárguelas si están disponibles.
Ejecutar contenedores al abrir el proyecto True Proyecto único, Docker Compose Una vez más, para aumentar el rendimiento, Visual Studio crea un contenedor de antemano listo para cuando se compile y ejecute el contenedor. Si desea controlar cuándo se crea el contenedor, establezca esta opción en False.
Quitar los contenedores al cerrar el proyecto True Proyecto único, Docker Compose Establezca el valor en False si quiere que los contenedores de la solución se conserven después de cerrar la solución o Visual Studio.
Nombre Valor predeterminado Se aplica a Descripción
Extraer las imágenes de Docker necesarias al abrir el proyecto True Proyecto único, Docker Compose Para aumentar el rendimiento al cargar proyectos, Visual Studio iniciará una operación docker pull en segundo plano para que cuando se esté listo para ejecutar el código, la imagen ya esté descargada o en proceso de descarga. Si simplemente carga proyectos y explora código, puede establecer esta opción en False para evitar la descarga de imágenes de contenedor que no son necesarias.
Aplicar "pull" a las imágenes de Docker actualizadas al abrir el proyecto Proyectos de .NET Core Proyecto único, Docker Compose Al abrir un proyecto, busque actualizaciones de imágenes y descárguelas si están disponibles.
Ejecutar contenedores al abrir el proyecto True Proyecto único, Docker Compose Una vez más, para aumentar el rendimiento, Visual Studio crea un contenedor de antemano listo para cuando se compile y ejecute el contenedor. Si desea controlar cuándo se crea el contenedor, establezca esta opción en False.
Quitar los contenedores al cerrar el proyecto True Proyecto único, Docker Compose Establezca el valor en False si quiere que los contenedores de la solución se conserven después de cerrar la solución o Visual Studio.
Ejecución de un servicio en contenedores para habilitar la autenticación de Azure True Proyecto único, Docker Compose Visual Studio versión 17.6 o posterior ejecuta un servicio de proxy de token en el contenedor que ayuda con la autenticación de Azure para que las aplicaciones puedan usar servicios de Azure durante el desarrollo. Establézcalo en False si no desea que este servicio se instale y ejecute.
Ejecución de un servicio en contenedores para habilitar Recarga activa True Proyecto único, Docker Compose Establézcalo en False si no desea que este servicio se instale y ejecute. El servicio Recarga activa está disponible en Visual Studio 2022, versión 17.7 y posteriores, y solo admite la ejecución sin depuración (Ctrl+F5).

Con la configuración de la ventana de herramientas Contenedores, se controla los valores que se aplican a la ventana de herramientas Contenedores, en la que se muestra información sobre los contenedores y las imágenes de Docker. Consulte Uso de la ventana Contenedores.

Opciones de las herramientas de contenedor de Visual Studio; se muestra la configuración disponible para la ventana de herramientas Contenedores.

En la tabla siguiente, se describe la configuración de la ventana Contenedores:

Nombre Valor predeterminado Descripción
Confirmar antes de eliminar los contenedores Siempre Esta opción permite controlar si se le solicitará confirmación para eliminar contenedores no usados.
Confirmar antes de eliminar las imágenes Siempre Esta opción permite controlar si se le solicitará confirmación para eliminar imágenes no usadas.
Confirmar antes de quitar un contenedor Siempre Esta opción permite controlar si se le solicitará confirmación para quitar un contenedor.
Confirmar antes de quitar una imagen Siempre Esta opción permite controlar si se le solicitará confirmación para quitar una imagen.
Confirmar antes de ejecutar un número elevado de imágenes Siempre Esta opción permite controlar si se le solicitará confirmación antes de iniciar contenedores de más de 10 imágenes a la vez.

Advertencia

Si el certificado SSL localhost no es de confianza y ha seleccionado la casilla de supresión de la confirmación, las solicitudes HTTPS web pueden generar un error en tiempo de ejecución en la aplicación o el servicio. En ese caso, desmarque la casilla No pedir confirmación, ejecute el proyecto e indique que confía en la solicitud.

Configurar la autenticación de Azure

Si la aplicación usa servicios de Azure, necesitará las credenciales de autenticación adecuadas cuando se ejecute en un contenedor para autenticarse con los servicios de Azure. Durante el desarrollo, normalmente podrá usar sus propias credenciales de Azure en lugar de las credenciales que use la aplicación en producción, pero esas credenciales serán necesarias en el entorno de contenedor para ser útiles para la aplicación en el contenedor en ejecución.

A partir de la versión 17.6 de Visual Studio 2022, tanto en proyectos de contenedor único como en Docker Compose, se implementará y se ejecutará un servicio de proxy de token en los contenedores que ayuden a las aplicaciones y servicios a autenticarse en Azure. La característica requiere Azure Identity 1.9.0 o posterior. Con este servicio habilitado, es posible usar automáticamente la mayoría de los servicios de Azure sin ninguna configuración o configuración adicional dentro del contenedor. En concreto, el código puede usar DefaultAzureCredential y VisualStudioCredential para autenticarse con servicios de Azure de la misma manera que fuera de un contenedor. Consulte el archivo LÉAME de Azure Identity 1.9.0.

Para deshabilitar esta característica, establezca la configuración de Herramientas>Opciones de la opción Ejecutar un servicio en contenedores para habilitar la autenticación de Azure (descrita anteriormente en este artículo) en False.

Precaución

Hay un posible problema de seguridad si usa el proxy de token y habilitó determinados registros de diagnóstico de herramientas de contenedor. Cuando el registro esté habilitado, las credenciales de autenticación se podrían registrar como texto sin formato. Estos registros están habilitados por determinadas variables de entorno. Para proyectos de contenedor únicos, la variable de entorno es MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, que, a continuación, registra en %tmp%\Microsoft.VisualStudio.Containers.Tools. En el caso de proyectos de Docker Compose, es MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, el cual registra, a continuación, en %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.

Para obtener más información sobre cómo trabajar con contenedores en Visual Studio, consulte la introducción.