Compartir a través de


Configuración de Visual Studio Container Tools

Puede controlar algunos aspectos de cómo funciona Visual Studio con contenedores de Docker mediante la configuración de Container Tools . En este artículo se describe cómo configurar las opciones de Herramientas de contenedor que pueden afectar al rendimiento y al uso de recursos de Visual Studio al trabajar con contenedores de Docker.

Prerrequisitos

Prerrequisitos

  • Docker Desktop.
  • Visual Studio con las cargas de trabajo desarrollo de ASP.NET y web, desarrollo de Azure y/o desarrollo de escritorio de .NET instaladas.

Configuración de herramientas de contenedores

Para acceder a la configuración, seleccione Opciones de herramientas > en el menú principal de Visual Studio. En el panel izquierdo, desplácese hacia abajo y expanda Herramientas de Contenedores.

Configuración general

Captura de pantalla de las opciones de Visual Studio Container Tools.

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

Configuración Valor predeterminado Descripción
Instalación de Docker Desktop si es necesario Recordarme Elija si desea que se le solicite si Docker Desktop no está instalado.
Inicie Docker Desktop si es necesario. Recordarme Si Docker Desktop no se inicia, elija si desea iniciarlo automáticamente o si desea preguntarlo.
Confiar en el certificado SSL de ASP.NET Core Recordarme Elija si desea preguntar si el localhost certificado SSL no es de confianza en un proyecto de ASP.NET Core.

Captura de pantalla de las opciones de Visual Studio Container Tools.

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

Configuración Valor predeterminado Descripción
Solicitar la instalación del entorno de ejecución del contenedor cuando no hay uno instalado Enabled Elija si desea que se le solicite si Docker Desktop o Podman no está instalado.
Indicación para confiar en el certificado SSL de ASP.NET Core Elija si desea preguntar si el localhost certificado SSL no es de confianza en un proyecto de ASP.NET Core.
Inicie el entorno de ejecución del contenedor si es necesario. Recordarme Si no se inicia Docker Desktop o Podman, elija si desea iniciarlo automáticamente o si desea solicitarle.
Tiempo de ejecución del contenedor Coche Elija el entorno de ejecución del contenedor; Se admite Docker y Podman. ElijaAuto si desea que Visual Studio detecte qué tiempo de ejecución está usando.

Importante

Si configura Confiar en el certificado SSL de ASP.NET Core como Nunca y el localhost certificado SSL no es de confianza, es posible que las solicitudes web HTTPS fallen durante la ejecución. En ese caso, establezca Confiar en el certificado SSL de ASP.NET Core en Preguntarme, ejecuta el proyecto e indica confianza en la solicitud emergente.

Configuración de proyecto único o Docker Compose

Las configuraciones del Proyecto Único y de Docker Compose en las herramientas de contenedor son idénticas.

Captura de pantalla de las opciones de herramientas de contenedor de Visual Studio 2022.

En la tabla siguiente se describen la configuración de Single Project y Docker Compose :

Configuración Valor predeterminado Descripción
Extracción de imágenes de Docker necesarias al abrir el proyecto Cierto Si se debe iniciar una operación de extracción de Docker en segundo plano al cargar un proyecto de contenedor. Las imágenes necesarias están descargadas o se están descargando cuando estás listo para ejecutar tu código. Si solo desea examinar el código, puede configurar False para evitar descargar imágenes de contenedor innecesarias.
Extracción de imágenes de Docker actualizadas al abrir el proyecto Proyectos de .NET Core Indica si o en qué proyectos ejecutar una extracción de Docker para todas las imágenes del proyecto abiertas para obtener las actualizaciones más recientes.
Ejecutar contenedores al abrir el proyecto Cierto Si se debe crear un contenedor al cargar un proyecto de contenedor, para que esté listo cuando se compile y se ejecute. Si prefiere controlar cuándo se crea el contenedor, establezca en False.
Elimine contenedores al cierre del proyecto Cierto Si desea quitar contenedores de la solución después de cerrar la solución o cerrar Visual Studio.
Ejecución de un servicio en contenedores para habilitar la autenticación de Azure Cierto En el caso de Visual Studio versión 17.6 o posterior, si se debe instalar y ejecutar un servicio de proxy de token en un contenedor para habilitar la autenticación de Azure. Este servicio permite que las aplicaciones usen servicios de Azure durante el desarrollo. Para más información, consulte la sección Configuración de la autenticación de Azure .
Ejecutar un servicio en contenedores para habilitar recarga en caliente Cierto Para la versión 17.7 y posteriores de Visual Studio, determinar si se va a instalar y ejecutar el servicio de Recarga en caliente. Este servicio solo admite la ejecución sin depuración, Ctrl+F5.

Las siguientes configuraciones de la sección Calentamiento de Contenedores controlan cómo Visual Studio optimiza el rendimiento iniciando los servicios y preparando imágenes antes de su uso esperado.

Configuración Valor predeterminado Descripción
Descargar imágenes necesarias al abrir el proyecto Enabled Si se debe iniciar una operación de extracción de Docker en segundo plano al cargar un proyecto de contenedor. Las imágenes necesarias están descargadas o se están descargando cuando estás listo para ejecutar tu código. Si solo desea examinar el código, puede configurar False para evitar descargar imágenes de contenedor innecesarias.
Ejecutar contenedores al abrir el proyecto Cierto Si se debe crear un contenedor al cargar un proyecto de contenedor, para que esté listo cuando se compile y se ejecute. Si prefiere controlar cuándo se crea el contenedor, establezca en False.
Elimine contenedores al cierre del proyecto Cierto Si desea quitar contenedores de la solución después de cerrar la solución o cerrar Visual Studio.

Las siguientes configuraciones aparecen en la sección Depuración:

Configuración Valor predeterminado Descripción
Ejecución de un servicio en contenedores para habilitar la autenticación de Azure Enabled Si se va a instalar y ejecutar un servicio de proxy de token en el contenedor para habilitar la autenticación de Azure. Este servicio permite que las aplicaciones usen servicios de Azure durante el desarrollo. Para más información, consulte la sección Configuración de la autenticación de Azure .
Ejecutar un servicio en contenedores para habilitar recarga en caliente Enabled Si se va a instalar y ejecutar el servicio Recarga en caliente. Este servicio solo admite la ejecución sin depuración, Ctrl+F5.

Configuración de la ventana Contenedores

La configuración de la ventana Contenedores se aplica a la ventana Contenedores del IDE de Visual Studio, que muestra información sobre los contenedores e imágenes de Docker. Para obtener más información, consulte Utilice la ventana Contenedores.

Captura de pantalla de las opciones de Visual Studio Container Tools, que muestra la configuración disponible para la ventana Contenedores.

En la tabla siguiente se describen los ajustes de la Ventana de Contenedores:

Configuración Valor predeterminado Descripción
Confirmar antes de eliminar contenedores Siempre Indica si quieres avisarle al eliminar contenedores no usados.
Confirmar antes de eliminar imágenes Siempre Indica si quieres avisarte al eliminar imágenes sin usar.
Confirmación antes de quitar un contenedor Siempre Indicar si se debe pedir confirmación al eliminar un contenedor.
Confirmar antes de quitar una imagen Siempre Indica si se te pedirá al quitar una imagen.
Confirmar antes de ejecutar un gran número de imágenes Siempre Indica si quieres preguntarte antes de iniciar contenedores desde más de 10 imágenes a la vez.
Mostrar el formato de cadena que se va a usar en la ventana Contenedores En blanco Formato de cadena para mostrar que se usará en la ventana Contenedores, con compatibilidad con los marcadores {ContainerName}, {ImageName}, {ProjectName} y {ContainerID}.
Agrupar contenedores por el proyecto Docker Compose Siempre Si se van a agrupar contenedores por el proyecto de Docker Compose del que forman parte.

Configuración de la autenticación de Azure

Si la aplicación usa servicios de Azure, necesita credenciales adecuadas para autenticarse con los servicios de Azure cuando se ejecuta en un contenedor. Normalmente, puede usar sus propias credenciales de Azure durante el desarrollo, pero para ejecutarse en el entorno de contenedor, la aplicación en contenedor requiere las credenciales que usa en producción.

Visual Studio 2022, versión 17.6 y posteriores, implementa y ejecuta un servicio de proxy de token en los proyectos de Docker Compose y contenedor único para ayudar a las aplicaciones y servicios a autenticarse en Azure. La característica requiere Azure Identity 1.9.0 o posterior.

Con este servicio habilitado, puede usar automáticamente la mayoría de los servicios de Azure dentro del contenedor sin ninguna configuración o configuración agregada. El código puede usar DefaultAzureCredential y VisualStudioCredential autenticarse con los servicios de Azure de la misma manera que fuera de un contenedor. Para más información, consulte el README de Azure Identity 1.9.0.

Para deshabilitar esta característica, establezca Ejecutar un servicio en contenedores para habilitar la autenticación de Azure en False en la configuración de Herramientas de contenedorpara un Proyecto único o Docker Compose.

Precaución

El uso del proxy de token y la habilitación de determinados registros de diagnóstico presenta un posible problema de seguridad. Estos registros podrían exponer las credenciales de autenticación como texto sin formato. Las siguientes variables de entorno habilitan estos registros:

  • Para proyectos de contenedor único, MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, que inicia sesión en %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • Para los proyectos de Docker Compose, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, que genera un registro en %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.

Configuración de la ventana Contenedores

La configuración de la ventana Contenedores se aplica a la ventana Contenedores del IDE de Visual Studio, que muestra información sobre los contenedores e imágenes de Docker. Para obtener más información, consulte Utilice la ventana Contenedores.

En la tabla siguiente se describen los ajustes de la Ventana de Contenedores:

Configuración Valor predeterminado Descripción
Confirmar antes de eliminar contenedores Enabled Indica si quieres avisarle al eliminar contenedores no usados.
Confirmar antes de eliminar imágenes Enabled Indica si quieres avisarte al eliminar imágenes sin usar.
Confirmación antes de quitar un contenedor Enabled Indicar si se debe pedir confirmación al eliminar un contenedor.
Confirmar antes de quitar una imagen Enabled Indica si se te pedirá al quitar una imagen.
Confirmar antes de ejecutar un gran número de imágenes Enabled Indica si quieres preguntarte antes de iniciar contenedores desde más de 10 imágenes a la vez.
Mostrar el formato de cadena que se va a usar en la ventana Contenedores En blanco Formato de cadena para mostrar que se usará en la ventana Contenedores, con compatibilidad con los marcadores {ContainerName}, {ImageName}, {ProjectName} y {ContainerID}.
Agrupar contenedores por el proyecto Docker Compose Enabled Si se van a agrupar contenedores por el proyecto de Docker Compose del que forman parte.

Configuración de la autenticación de Azure

Si la aplicación usa servicios de Azure, necesita credenciales adecuadas para autenticarse con los servicios de Azure cuando se ejecuta en un contenedor. Normalmente, puede usar sus propias credenciales de Azure durante el desarrollo, pero para ejecutarse en el entorno de contenedor, la aplicación en contenedor requiere las credenciales que usa en producción.

Visual Studio implementa y ejecuta un servicio de proxy de token en los proyectos de Un solo contenedor y Docker Compose para ayudar a las aplicaciones y servicios a autenticarse en Azure. La característica requiere Azure Identity 1.9.0 o posterior.

Con este servicio habilitado, puede usar automáticamente la mayoría de los servicios de Azure dentro del contenedor sin ninguna configuración o configuración agregada. El código puede usar DefaultAzureCredential y VisualStudioCredential autenticarse con los servicios de Azure de la misma manera que fuera de un contenedor. Para más información, consulte el README de Azure Identity 1.9.0.

Para deshabilitar esta característica, establezca Ejecutar un servicio en contenedores para habilitar la autenticación de Azure en False en la configuración de Herramientas de contenedorpara un Proyecto único o Docker Compose.

Precaución

El uso del proxy de token y la habilitación de determinados registros de diagnóstico presenta un posible problema de seguridad. Estos registros podrían exponer las credenciales de autenticación como texto sin formato. Las siguientes variables de entorno habilitan estos registros:

  • Para proyectos de contenedor único, MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, que inicia sesión en %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • Para los proyectos de Docker Compose, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, que genera un registro en %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.