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
- Docker Desktop
- Versión 16.4 de Visual Studio 2019 o posteriores.
- Docker Desktop
- Visual Studio 2022 o Visual Studio 2019, versión 16.4 o una posterior.
- Para el nodo Docker Compose, Visual Studio 2022 versión 17.7 o posterior y Docker v2, que se instala con Docker Desktop y está activado de forma predeterminada.
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.
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.
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.
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.
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.
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.
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ó.
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.
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.
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.
Con la pestaña Archivos, puede ver registros de aplicaciones como registros de Internet Information Services (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.
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.
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.
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.
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.
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.
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.