Personalizar la asignación de volúmenes en el contenedor
Artículo
Para que la depuración funcione en contenedores, Visual Studio usa la asignación de volúmenes a fin de asignar el depurador y las carpetas de NuGet desde el equipo host. La asignación de volúmenes se describe en la documentación de Docker aquí. Puede ver las asignaciones de volúmenes de un contenedor mediante la ventana Contenedores de Visual Studio.
Contiene el contexto de compilación que se pasa a los comandos de Docker.
Estos son los volúmenes que se montan en el contenedor. Lo que ve en los contenedores puede diferir en función de la versión secundaria de Visual Studio 2022 que use.
Volumen
Descripción
Carpeta de la aplicación
Contiene la carpeta del proyecto donde se encuentra el Dockerfile.
Carpetas de paquetes NuGet
Contienen los paquetes NuGet y las carpetas de reserva que se leen desde el archivo obj{project}.csproj.nuget.g.props del proyecto.
Contiene el contexto de compilación que se pasa a los comandos de Docker.
VSTools
Contiene herramientas de Visual Studio que admiten trabajar con contenedores, incluida la compatibilidad con el depurador, la ventana de Contenedores, el control de tokens de Azure, el agente de recarga activa y el asistente sin distribución.
Para .NET 8, también pueden estar presentes puntos de montaje adicionales en la raíz y para el usuario de la aplicación que contienen secretos de usuario y el certificado HTTPS.
Nota
Visual Studio 17.10 Si utiliza Docker Engine en el Subsistema de Windows para Linux (WSL) sin Docker Desktop, establezca la variable de entorno VSCT_WslDaemon=1 para que Visual Studio utilice rutas de WSL al crear montajes de volúmenes. También se requiere el paquete NuGet Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1.
Para ASP.NET aplicaciones web principales, puede haber dos carpetas adicionales para el certificado SSL y los secretos de usuario, que se explican con más detalle en Usar SSL para aplicaciones ASP.NET Core en contenedores
Montaje de un volumen de contenedor
Puede montar otro volumen utilizando argumentos de línea de comandos docker run.
Abra el archivo de proyecto para el proyecto en contenedor.
Para especificar un nuevo argumento de línea de comandos, agregue la propiedad MSBuild DockerfileRunArgumentsy proporcione la sintaxis -v o --mount. Por ejemplo, la siguiente sintaxis crea un volumen myvolume y lo monta en el contenedor de la carpeta /scratch.
Cree y configure un entorno de desarrollo con todas las características basado en contenedores con la extensión Dev Containers de Visual Studio Code. Abra cualquier carpeta o repositorio de un contenedor, y aproveche las ventajas del conjunto completo de características de Visual Studio Code, como IntelliSense (finalizaciones), navegación por código y depuración.