Uso de la ventana Contenedores

Puede ver lo que está ocurriendo dentro de los contenedores que hospedan la aplicación mediante la ventana de contenedores. Si suele usar el símbolo del sistema para ejecutar los comandos de Docker con el fin de ver y diagnosticar lo que está ocurriendo con los contenedores, esta ventana proporciona una manera más cómoda de supervisar los contenedores sin tener que cerrar el IDE de Visual Studio.

También puede ver información sobre las imágenes de contenedor mediante la ventana Contenedores.

Requisitos previos

Visualización de información acerca de los contenedores

La ventana de contenedores se abre automáticamente al iniciar un proyecto de .NET en contenedores. Para ver los contenedores en Visual Studio en cualquier momento, use Ctrl+Q para activar el cuadro de búsqueda de Visual Studio, escriba Containers y elija el primer elemento. También puede abrir la ventana de contenedores desde el menú principal. Use la ruta de acceso del menú Ver>Otras ventanas>Contenedores.

Captura de pantalla de la ventana Contenedores en Visual Studio con un contenedor seleccionado en el panel izquierdo y la pestaña Entorno seleccionada en el panel derecho.

Captura de pantalla de la ventana Contenedores en Visual Studio con un contenedor seleccionado en el panel izquierdo y la pestaña Entorno seleccionada en el panel derecho.

En el lado izquierdo, verá la lista de contenedores en el equipo local. Los contenedores asociados a la solución se muestran en Contenedores de soluciones. A la derecha, verá un panel con las pestañas Entorno, Etiquetas, Puertos, Volúmenes, Registros y Archivos.

Sugerencia

Puede personalizar fácilmente el lugar en el que la ventana de herramientas Contenedores está acoplada en Visual Studio. Consulte Personalizar los diseños de ventana de Visual Studio. De forma predeterminada, la ventana de contenedores está acoplada con la ventana Inspección cuando el depurador está en ejecución.

Si usa Docker Compose y Visual Studio 2022 versión 17.7 o posterior, verá un árbol de nodos para la solución y su proyecto de Docker Compose, con un nodo primario para la solución y nodos secundarios para cada proyecto.

Captura de pantalla que muestra los nodos Docker Compose en la ventana Contenedores.

Visualización de variables de entorno

En la pestaña Entorno se muestran las variables de entorno del contenedor. En el caso del contenedor de la aplicación, puede establecer estas variables de muchas maneras, por ejemplo, en el archivo Dockerfile, en un archivo .env o mediante la opción -e al iniciar un contenedor mediante un comando de Docker.

Captura de pantalla de la ventana Contenedores de Visual Studio en la que se muestran las variables de Entorno para un contenedor.

Captura de pantalla de la ventana Contenedores de Visual Studio en la que se muestran las variables de Entorno para un contenedor.

Nota

Los cambios en las variables de entorno no se reflejan en tiempo real. Además, las variables de entorno en esta pestaña son las variables de entorno del sistema en el contenedor y no reflejan las variables de entorno del usuario locales en la aplicación.

Visualización de etiquetas

En la pestaña Etiquetas, se muestran las etiquetas del contenedor. Las etiquetas son una forma de establecer metadatos personalizados en objetos de Docker. Algunas etiquetas las establece automáticamente Visual Studio.

Captura de pantalla de la ventana Contenedores en Visual Studio en la que se muestra la pestaña Etiquetas.

Captura de pantalla de la ventana Contenedores en Visual Studio en la que se muestra la pestaña Etiquetas.

Visualización de asignaciones de puertos

En la pestaña Puertos, puede comprobar las asignaciones de puertos que están en vigor para su contenedor.

Captura de pantalla de la pestaña Puertos en la ventana de contenedores.

Captura de pantalla de la pestaña Puertos en la ventana de contenedores.

Los puertos conocidos están vinculados, por lo que si hay contenido disponible en un puerto, puede hacer clic en el vínculo para abrir el explorador.

Ver volúmenes

En la pestaña Volúmenes, se muestran los volúmenes (nodos del sistema de archivos montados) del contenedor.

Captura de pantalla de la pestaña Volúmenes en la ventana Contenedores.

Captura de pantalla de la pestaña Volúmenes en la ventana Contenedores.

Visualización de registros

En la pestaña Registros se muestran los resultados del comando docker logs. De forma predeterminada, la pestaña muestra las secuencias stdout y stderr en un contenedor, pero puede configurar la salida. Para obtener más información, vea Registro de Docker. De forma predeterminada, la pestaña Registros transmite los registros, pero puede pausarlo eligiendo el botón Transmitir en la pestaña. Si selecciona Transmitir de nuevo, la transmisión se reanuda desde donde se dejó.

Captura de pantalla de la pestaña Registros en la ventana de contenedores.

Captura de pantalla de la pestaña Registros en la ventana de contenedores.

Para borrar los registros, use el botón Borrar en la pestaña Registros. Para obtener todos los registros, use el botón Actualizar.

Nota

Visual Studio redirige automáticamente stdout y stderr a la ventana Salida cuando realiza la ejecución sin depurar con contenedores de Windows, por lo que los contenedores de Windows iniciados desde Visual Studio mediante Ctrl+F5 no mostrarán los registros en esta pestaña. En su lugar, use la ventana Salida.

Si usa Docker Compose con Visual Studio 2022 versión 17.7 o posterior, tiene la opción de ver los registros de cada contenedor por separado o intercalados en un único flujo de salida. Si selecciona el nodo primario de la solución, verá los registros intercalados de todos los proyectos de Compose. La primera columna de cada línea muestra el contenedor que generó esa línea de salida. Si solo desea ver los registros de un contenedor en concreto, seleccione el nodo del proyecto específico.

Captura de pantalla que muestra los registros intercalados en la pestaña Registros de la ventana Contenedores.

Visualización del sistema de archivos

En la pestaña Archivos, puede ver el sistema de archivos del contenedor, incluida la carpeta de la aplicación que contiene el proyecto.

Captura de pantalla de la pestaña Archivos en la ventana de contenedores.

Captura de pantalla de la pestaña Archivos en la ventana de contenedores.

Para abrir archivos en Visual Studio, busque el archivo y haga doble clic en él, o haga clic con el botón derecho y elija Abrir. Visual Studio abre los archivos en modo de solo lectura.

Captura de pantalla del archivo abierto para verlo en Visual Studio.

Captura de pantalla del archivo abierto para verlo en Visual Studio.

Con la pestaña Archivos, puede ver registros de aplicaciones como registros de IIS, archivos de configuración y otros archivos de contenido en el sistema de archivos del contenedor.

En Visual Studio 2022, versión 17.7 o posterior, cuando el destino es .NET 8 o posterior, el Dockerfile puede contener el comando USER app, que especifica ejecutar la aplicación con permisos de usuario normales. La pestaña Archivos también usa esos permisos, por lo que es posible que no pueda ver algunas carpetas, si esas carpetas están establecidas para requerir permisos elevados para su visualización.

Iniciar, detener y quitar contenedores

De forma predeterminada, la ventana de contenedores muestra todos los contenedores de la máquina que administra Docker. Puede usar los botones de la barra de herramientas para iniciar, detener o quitar (eliminar) un contenedor que ya no desee. Esta lista se actualiza de forma dinámica a medida que se crean o se quitan contenedores.

Si quiere seleccionar varios contenedores para, por ejemplo, quitar más de uno a la vez, use Ctrl+Clic. Si intenta iniciar más de 10 contenedores, se le pedirá que lo confirme. Puede deshabilitar esta solicitud de confirmación.

Apertura de una ventana de terminal en un contenedor en ejecución

Puede abrir una ventana de terminal (símbolo del sistema o shell interactivo) en el contenedor mediante el botón Abrir ventana de terminal de la ventana Contenedor.

Captura de pantalla de Abrir ventana de terminal en la ventana Contenedores.

Captura de pantalla de Abrir ventana de terminal en la ventana Contenedores.

En los contenedores de Windows, se abre el símbolo del sistema de Windows. En el caso de los contenedores de Linux, se abre una ventana con el shell de Bash.

Captura de pantalla de la ventana de Bash.

Captura de pantalla de la ventana de Bash.

Si tiene como destino .NET 8, el Dockerfile puede especificar el comando USER app, lo que significa que la aplicación se ejecuta con permisos de usuario normales, en lugar de permisos elevados. El Dockerfile generado por Visual Studio incluye esto en Visual Studio 2022, versión 17.7 y posteriores, si tiene como destino .NET 8 o posterior. El terminal se abre como el usuario especificado en el Dockerfile (de forma predeterminada para proyectos de .NET 8, es decir, app), o si no se especifica ningún usuario, se ejecuta como el usuario root.

Normalmente, la ventana de terminal se abre fuera de Visual Studio como una ventana independiente. Si desea un entorno de línea de comandos integrado en el IDE de Visual Studio como una ventana de herramientas acoplable, puede instalar Whack Whack Terminal.

Asociación del depurador a un proceso

Puede asociar el depurador a un proceso que se esté ejecutando en el contenedor mediante el botón Asociar al proceso de la barra de herramientas de la ventana Contenedores. Cuando se usa este botón, aparece el cuadro de diálogo Asociar al proceso y se muestran los procesos disponibles que se están ejecutando en el contenedor.

Captura de pantalla del cuadro de diálogo Asociar al proceso.

Captura de pantalla del cuadro de diálogo Asociar al proceso.

Puede realizar la asociación a procesos administrados en el contenedor. Para buscar un proceso en otro contenedor, use el botón Buscar y seleccione otro contenedor en el cuadro de diálogo Seleccionar contenedor de Docker.

Visualización de imágenes

También puede ver imágenes en el equipo local mediante la pestaña Imágenes de la ventana Contenedores. Las imágenes extraídas de repositorios externos se agrupan juntas en una vista de árbol.

Captura de pantalla en la que se muestra la ventana Contenedores con imágenes de contenedores.

Captura de pantalla en la que se muestra la ventana Contenedores con imágenes de contenedores.

La ventana solo tiene las pestañas aplicables a las imágenes: Etiquetas y Detalles. En la pestaña Detalles, se muestran los detalles de configuración de la imagen en formato JSON.

Captura de pantalla en la que se muestra la pestaña Imágenes > Detalles de la ventana Contenedores.

Captura de pantalla en la que se muestra la pestaña Imágenes > Detalles de la ventana Contenedores.

Para quitar una imagen, haga clic con el botón derecho en la imagen en la vista de árbol y elija Quitar, o seleccione la imagen y use el botón Quitar de la barra de herramientas.

Eliminación de contenedores e imágenes

Puede quitar fácilmente contenedores e imágenes que ya no use mediante el botón Eliminar de la barra de herramientas de la ventana Contenedores.

Captura de pantalla en la que se muestra el botón de eliminación.

Captura de pantalla en la que se muestra el botón de eliminación.

Se le pedirá que confirme que quiere quitar todos los contenedores no usados.

Al seleccionar la pestaña Imágenes y el botón Eliminar, se le solicitará si quiere eliminar todas las imágenes pendientes. Las imágenes pendientes son imágenes de capas que ya no están asociadas a ninguna imagen etiquetada. En ocasiones, quitarlas ayuda a conservar espacio en disco.

Opciones de configuración

Se pueden configurar los cuadros de diálogo de confirmación de varias tareas, como quitar contenedores e imágenes, o iniciar más de 10 contenedores a la vez. Puede deshabilitar cada solicitud mediante la casilla del cuadro de diálogo. También puede habilitar o deshabilitar estas opciones mediante la configuración que encontrará en Herramientas>Opciones>Herramientas de contenedor>Ventana de herramientas Contenedores. Consulte Configuración de las herramientas de contenedor.