Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
- Docker Desktop
- Visual Studio 2019, versión 16.4 o posterior.
- Docker Desktop
- Visual Studio 2022 o Visual Studio 2019, versión 16.4 o posterior.
- Para el nodo Docker Compose:
- Visual Studio 2022, versión 17.7 o posterior
- Docker v2, que se instala con Docker Desktop y está activado de forma predeterminada.
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 .
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 .
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.
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.
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.
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.
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.
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.
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.
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ó.
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ó.
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.
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.
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 .
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.
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.
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.
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.
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.
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.
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 .
- Si tiene seleccionada la pestaña Contenedores , se le pedirá que confirme que desea quitar todos los contenedores no usados.
- 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.