Configuración de inicio de Las herramientas de contenedor
En la carpeta propiedades de de un proyecto de ASP.NET Core, puede encontrar el archivo launchSettings.json
, que contiene la configuración que controla cómo se inicia la aplicación web en el equipo de desarrollo. Para obtener información detallada sobre cómo se usa este archivo en ASP.NET desarrollo, consulte Uso de varios entornos en ASP.NET Core.
Puede editar este archivo directamente, pero en el IDE de Visual Studio, también puede editar las propiedades de este archivo a través de la interfaz de usuario. Elija la lista desplegable junto a la opción launch (por ejemplo, Docker
o .NET SDK
) y, a continuación, elija Propiedades de depuración para un proyecto de contenedor único.
En Docker Compose, elija Administrar la configuración de inicio de Docker Composey consulte Iniciar un subconjunto de servicios de redacción.
En launchSettings.json, la configuración de la sección de Docker de se relaciona con la forma en que Visual Studio controla las aplicaciones en contenedores.
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
"DockerfileRunArguments": "-l mylabel=value",
"environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80",
"ASPNETCORE_HTTPS_PORT": "44360"
},
"httpPort": 51803,
"useSSL": true,
"sslPort": 44360
}
El valor commandName identifica que esta sección se aplica a Las herramientas de contenedor.
La mayoría de las opciones de configuración de launchSettings.json
están disponibles y aplicables tanto si usa un Dockerfile como si usa la compatibilidad integrada con la compilación de contenedores del SDK de .NET (disponible para .NET 7 y versiones posteriores).
En la tabla siguiente se muestran las propiedades que se pueden establecer en esta sección:
Nombre de configuración | Ejemplo | Descripción |
---|---|---|
commandLineArgs | "commandLineArgs": "--mysetting myvalue" |
Estos argumentos de línea de comandos para iniciar la aplicación se usan al iniciar el proyecto en el contenedor. |
DockerfileRunArguments | "dockerfileRunArguments": "-l mylabel=value" |
Argumentos adicionales para pasar al comando docker run . |
environmentVariables |
"environmentVariables":
{
"ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> "ASPNETCORE_HTTPS_PORT": "44381"'' } |
Estos valores de variable de entorno se pasan al proceso cuando se inicia en el contenedor. |
httpPort | "httpPort": 24051 |
Este puerto del host se asigna al puerto 80 del contenedor al iniciar el contenedor. |
launchBrowser | "launchBrowser": true |
Indica si se debe iniciar el explorador después de iniciar correctamente el proyecto. |
launchBrowserTimeout | "launchBrowserTimeout": 1 |
La cantidad máxima de tiempo (en segundos) para esperar a que la aplicación esté lista antes de iniciar el explorador. |
launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Esta dirección URL se usa al iniciar el explorador. Los tokens de reemplazo admitidos para esta cadena son: - {Scheme} : se reemplaza por http o https en función de si se usa SSL. - {ServiceHost} : normalmente se reemplaza por localhost . Sin embargo, cuando el destino es contenedores de Windows en Windows 10 RS3 o versiones anteriores, se reemplaza por la dirección IP del contenedor. - {ServicePort} : normalmente se reemplaza por sslPort o httpPort , en función de si se usa SSL. Sin embargo, cuando el destino es contenedores de Windows en Windows 10 RS3 o versiones anteriores, se reemplaza por 443 o 80 , en función de si se usa SSL. |
sslPort | "sslPort": 44381 |
Este puerto del host se asigna al puerto 443 del contenedor al iniciar el contenedor. |
useSSL | "useSSL": true |
Indica si se debe usar SSL al iniciar el proyecto. Si no se especifica useSSL , se usa SSL cuando sslPort > 0 . |
Nota
Si la misma configuración, por ejemplo, DockerfileRunArguments
, se encuentra en el archivo de proyecto y en el archivo de configuración de inicio, el valor del archivo de configuración de inicio tiene prioridad.
Propiedad en la interfaz de usuario del perfil de depuración | Establecer el nombre en launchSettings.json | Ejemplo | Descripción |
---|---|---|---|
Argumentos de la línea de comandos | commandLineArgs | "commandLineArgs": "--mysetting myvalue" |
Estos argumentos de línea de comandos para iniciar la aplicación se usan al iniciar el proyecto en el contenedor. |
Argumentos de ejecución de contenedor | containerRunArguments ContainerRunArguments |
"containerRunArguments": "-l mylabel=value" |
Argumentos adicionales para pasar al comando docker run . (Use la versión en minúsculas en Visual Studio 17.12 y versiones posteriores. La versión en mayúsculas se introdujo en Visual Studio 17.9 y se proporciona para la compatibilidad con versiones anteriores). Puede usar los siguientes tokens de reemplazo: - {ProjectDir} : ruta de acceso completa al directorio del proyecto. - {OutDir} : valor de la propiedad OutDir de MSBuild. |
N/A | DockerfileRunArguments | dockerfileRunArguments": "-l mylabel=value" |
Al igual que containerRunArguments , pero solo para proyectos que usan el tipo de compilación Dockerfile. Para Visual Studio 17.12 y versiones posteriores, se recomienda usar containerRunArguments en su lugar. |
Variables de entorno | environmentVariables |
"environmentVariables": {"ASPNETCORE_URLS": "https://+:443;http://+:80" , "ASPNETCORE_HTTPS_PORT": "44381" } |
Estos valores de variable de entorno se pasan al proceso cuando se inicia en el contenedor. |
Nombre del contenedor | containerName | mycontainer |
(17.12 y versiones posteriores) Nombre del contenedor que coincide con la expresión regular [a-zA-Z0-9][a-zA-Z0-9_.-] . |
Archivos de entorno de contenedor | containerRunEnvironmentFiles | "containerRunEnvironmentFiles": "abc.env;xyz.env" |
(17.12 y versiones posteriores) Lista de archivos de variables de entorno ( archivos.env ) separados por punto y coma. Consulte sintaxis de archivo .env. |
Puerto HTTP | httpPort | "httpPort": 24051 |
Este puerto del host se asigna al puerto 80 del contenedor al iniciar el contenedor. |
Iniciar explorador | launchBrowser | "launchBrowser": true |
Indica si se debe iniciar el explorador después de iniciar correctamente el proyecto. |
N/A | launchBrowserTimeout | "launchBrowserTimeout": 1 |
Cantidad máxima de tiempo (en segundos) para esperar a que la aplicación esté lista antes de iniciar el explorador (solo Docker Compose). |
URL | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Esta dirección URL se usa al iniciar el explorador. Los tokens de reemplazo admitidos para esta cadena son: - {Scheme} : se reemplaza por http o https , en función de si se usa SSL. - {ServiceHost} : normalmente se reemplaza por localhost . Sin embargo, cuando el destino es contenedores de Windows en Windows 10 RS3 o versiones anteriores, se reemplaza por la dirección IP del contenedor. - {ServicePort} : normalmente se reemplaza por sslPort o httpPort, en función de si se usa SSL. Sin embargo, cuando el destino es contenedores de Windows en Windows 10 RS3 o versiones anteriores, se reemplaza por 443 o 80 , en función de si se usa SSL. |
Publicación de todos los puertos | publishAllPorts | "publishAllPorts": true |
Si es true, pase -P a docker run , que publica todos los puertos expuestos en un puerto aleatorio. Consulte documentación de Docker. Sin embargo, al especificar sslPort , Visual Studio sigue pasando -p 5002:443 , por lo que el servicio debe seguir escuchando en el puerto 5002. |
Puerto SSL | sslPort | "sslPort": 44381 |
Este puerto del host se asigna al puerto 443 del contenedor al iniciar el contenedor. |
N/A | useSSL | "useSSL": true |
Indica si se debe usar SSL al iniciar el proyecto. Si no se especifica useSSL , se usa SSL cuando sslPort > 0 . |
No todas las configuraciones están disponibles en la interfaz de usuario, por ejemplo, useSSL
. Para cambiar esa configuración, edite launchSettings.json
directamente.
La configuración DockerfileRunArguments
se superpone en Visual Studio 2022 17.12 y versiones posteriores containerRunArguments
, que se puede establecer en la interfaz de usuario de perfiles de inicio como Container run arguments
.
Nota
Si se encuentra la misma configuración en el archivo del proyecto y en el archivo de configuración de inicio, el valor del archivo de configuración de inicio tiene prioridad.
Configure el proyecto estableciendo las propiedades de compilación Container Tools.