Compartir a través de


Uso de la ventana Contenedores

Puede usar la ventana Contenedores de Visual Studio para ver lo que sucede dentro de los contenedores de Docker que hospedan las aplicaciones y para ver las imágenes de contenedor. Si está acostumbrado a ejecutar comandos de Docker para ver y analizar los contenedores, esta ventana proporciona una manera cómoda de supervisar e interactuar con contenedores sin salir del IDE de Visual Studio.

Prerrequisitos

Visualización de información sobre los contenedores

La ventana Contenedores se abre automáticamente al iniciar un proyecto de .NET en contenedor. Para abrir la ventana Contenedores en cualquier momento, seleccione Ver> otroscontenedores de> en el menú de Visual Studio. También puede usar Ctrl+Q para abrir el cuadro Búsqueda de Visual Studio, escriba Contenedores y seleccione el elemento Contenedores .

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

En el lado izquierdo de la ventana, se muestra la lista de contenedores del equipo local. Los contenedores asociados a la solución actual se encuentran en Contenedores de soluciones. A la derecha se muestra un panel con pestañas para Entorno, Etiquetas, Puertos, Volúmenes, Archivos y Registros.

La ventana Contenedores se abre automáticamente al iniciar un proyecto de .NET en contenedor. Para abrir la ventana Contenedores en cualquier momento, seleccione Ver> otroscontenedores de> en el menú de Visual Studio o presione Ctrl+K, Ctrl+O. También puede usar Ctrl+Q para abrir el cuadro Búsqueda de Visual Studio, escriba Contenedores y seleccione el elemento Contenedores .

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

En el lado izquierdo de la ventana, se muestra la lista de contenedores del equipo local. Los contenedores asociados a la solución actual se encuentran en Contenedores de soluciones. A la derecha se muestra un panel con pestañas para Entorno, Etiquetas, Puertos, Volúmenes, Archivos, Registros y Detalles.

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

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

Sugerencia

De forma predeterminada, la ventana Contenedores se acopla con la ventana Inspección cuando se ejecuta el depurador. Puede personalizar fácilmente dónde está acoplada la ventana de herramientas Contenedores . Consulte Personalización de diseños de ventana en Visual Studio.

Visualización de variables de entorno

La pestaña Entorno muestra las variables de entorno en el contenedor. Puede establecer estas variables en el Dockerfile, en un archivo .env o mediante la -e opción 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 de esta pestaña son las variables de entorno del sistema en el contenedor, no las variables de entorno de usuario locales para la aplicación.

Captura de pantalla de la pestaña Entorno en la ventana Contenedores.

Captura de pantalla de la pestaña Entorno en la ventana Contenedores.

Visualización de etiquetas

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

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

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

Visualización de asignaciones de puertos

En la pestaña Puertos , puede comprobar las asignaciones de puertos del contenedor. Los puertos conocidos están vinculados, por lo que puede seleccionar el vínculo para abrir un explorador a la dirección del puerto host.

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

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

Visualización de volúmenes

En la pestaña Volúmenes: se muestran los nodos montados del sistema de archivos, o volúmenes, en el 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 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. Mediante la pestaña Archivos , puede ver los registros de aplicaciones, como los registros de Internet Information Services (IIS), los archivos de configuración y otros archivos de contenido en el sistema de archivos del contenedor.

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

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

Nota:

En Visual Studio 2022, versión 17.7 o posterior, cuando el destino es .NET 8 o posterior, el Dockerfile puede contener el USER app comando , que especifica ejecutar la aplicación con permisos de usuario normales. La pestaña Archivos usa los mismos permisos, por lo que es posible que no pueda ver las carpetas que requieren permisos elevados para ver.

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

Captura de pantalla del archivo abierto para su visualización en Visual Studio.

Captura de pantalla del archivo abierto para su visualización en Visual Studio.

Visualización de registros

La pestaña Registros muestra los resultados del docker logs comando. De forma predeterminada, la pestaña muestra las secuencias stdout y stderr en un contenedor, pero puede configurar la salida. Para más información, consulte Registro de Docker.

De forma predeterminada, la pestaña Registros transmite los registros. Para pausar la secuencia, seleccione el botón Stream Logs (Registros de secuencia ) en la pestaña . Vuelva a seleccionar Stream Logs (Registros de transmisión ) para reanudar el streaming desde donde se dejó.

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

De forma predeterminada, la pestaña Registros transmite los registros. Para pausar la secuencia, seleccione el botón Stream (Secuencia ) en la pestaña . Vuelva a seleccionar Stream (Transmitir ) para reanudar el streaming desde donde se dejó.

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

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

Nota:

Visual Studio redirige stdout y stderr automáticamente a la ventana Salida al ejecutar contenedores de Windows sin depurar. Estos registros no se muestran en la pestaña Registros .

Si usa Docker Compose con Visual Studio 2022 versión 17.7 o posterior, puede 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, seleccione el nodo del proyecto.

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

Ver detalles

La pestaña Detalles muestra metadatos e información en tiempo de ejecución sobre la configuración del contenedor en formato JSON. Esta información incluye variables de entorno, puertos, volúmenes y otras configuraciones en tiempo de ejecución.

Captura de pantalla que muestra la pestaña Detalles de la ventana Contenedores.

Interacción con contenedores

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, pueden mostrar mensajes. Puede deshabilitar cada solicitud mediante la casilla de la ventana 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. Para obtener más información, consulte Configuración de herramientas de contenedor.

También puede habilitar o deshabilitar estas opciones mediante la configuración que encontrará en Herramientas>Opciones>Herramientas de contenedor>Ventana de Contenedores. Para obtener más información, consulte Configuración de herramientas de contenedor.

Iniciar, detener y quitar contenedores

De forma predeterminada, la ventana Contenedores muestra todos los contenedores de la máquina que administra Docker. Puede usar los botones de la barra de herramientas de la ventana Contenedores para iniciar, detener o eliminar un contenedor. La lista de contenedores se actualiza dinámicamente a medida que se crean o quitan contenedores.

Para seleccionar varios contenedores, por ejemplo, para quitar más de un contenedor a la vez, use Ctrl+Seleccionar. Se le pedirá que confirme si intenta iniciar o quitar más de 10 contenedores a la vez. Si lo desea, puede deshabilitar las solicitudes de confirmación.

Abrir 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 en la ventana Contenedores .

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

Captura de pantalla de la ventana de terminal abierta en la ventana de 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 mediante el shell de Bash.

Captura de pantalla de la ventana de Bash.

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.

Captura de pantalla de la ventana de Bash.

Si está utilizando .NET 8 en Visual Studio 2022, versión 17.7 y posteriores, el Dockerfile puede especificar el comando USER app, lo que significa que su aplicación se ejecuta con permisos de usuario normales en lugar de permisos elevados. El terminal se abre como el usuario especificado en el Dockerfile, que es app de forma predeterminada para los proyectos de .NET 8. Si no se especifica ningún usuario, el terminal se ejecuta como usuario root .

Asociación del depurador a un proceso de contenedor

Puede adjuntar el depurador a un proceso que se ejecuta en el contenedor mediante el botón Asociar al proceso de la barra de herramientas de la ventana Contenedores . Al usar este botón, aparece el cuadro de diálogo Asociar al proceso y muestra los procesos que se ejecutan 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 conectarse a los procesos gestionados en el contenedor. Para buscar un proceso en otro contenedor, seleccione el botón Buscar en el cuadro de diálogo Asociar al proceso y seleccione otro contenedor en el cuadro de diálogo Seleccionar contenedor de Docker .

Ver imágenes

Puede ver imágenes en el equipo local mediante la pestaña Imágenes del lado izquierdo de la ventana Contenedores . Las imágenes extraídas de repositorios externos se agrupan en una vista de árbol.

Captura de pantalla que muestra la ventana Contenedores que muestra imágenes de contenedor.

El panel derecho 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 que muestra la pestaña Detalles de imágenes > de la ventana Contenedores.

Captura de pantalla que muestra la ventana Contenedores que muestra imágenes de contenedor.

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

Captura de pantalla que muestra la pestaña Detalles de imágenes > 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, a continuación, seleccione 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 no usa seleccionando el botón Prune de la barra de herramientas de la ventana Contenedores .

Captura de pantalla que muestra el botón de poda.

  • Si tiene seleccionada la pestaña Contenedores , se le pedirá que confirme que desea quitar todos los contenedores no usados.

Captura de pantalla que muestra el botón de poda.

  • Si tiene seleccionada la pestaña Contenedores , se le pedirá que confirme que desea quitar todos los contenedores detenidos.
  • Si tiene seleccionada la pestaña Imágenes , se le pregunta si desea quitar todas las imágenes pendientes. Las imágenes pendientes son imágenes de capas que ya no están asociadas a ninguna imagen etiquetada. Elimine las imágenes pendientes ocasionalmente para ayudar a conservar el espacio en disco.