Configuración de inicio de las herramientas de contenedor

En la carpeta Propiedades de un proyecto de ASP.NET Core, puede encontrar el launchSettings.json archivo , que contiene la configuración que controla cómo se inicia la aplicación web en la máquina de desarrollo. Para obtener información detallada sobre cómo se usa este archivo en el desarrollo de ASP.NET, vea Usar 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 de inicio (por ejemplo, o .NET SDK) y, a continuación, Docker elija Propiedades de depuración.

En launchSettings.json, los valores de la sección Docker están relacionados 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 configuraciones launchSettings.json de están disponibles y aplicables tanto si usa un Dockerfile como si usa la compatibilidad con la compilación de contenedores integrada 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 valor Ejemplo Descripción
commandLineArgs "commandLineArgs": "--mysetting myvalue" Estos argumentos de la línea de comandos para iniciar la aplicación se usan al ejecutar el proyecto en el contenedor.
DockerfileRunArguments "dockerfileRunArguments": "-l mylabel=value" Argumentos adicionales que se van a pasar al docker run comando.
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> "ASPNETCORE_HTTPS_PORT": "44381"``
}
Estos valores de variables 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 Cantidad máxima de tiempo (en segundos) que se 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 o httphttps en función de si se usa SSL.

- {ServiceHost} - Normalmente se reemplaza por localhost.
Cuando el destino son los 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, dependiendo de si se usa SSL.
Cuando el destino son los 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 del proyecto y en el archivo de configuración de inicio, el valor del archivo de configuración de inicio tiene prioridad.

Nombre del valor Ejemplo Descripción
commandLineArgs "commandLineArgs": "--mysetting myvalue" Estos argumentos de la línea de comandos para iniciar la aplicación se usan al ejecutar el proyecto en el contenedor.
containerRunArguments "containerRunArguments": "-l mylabel=value" Al igual que dockerfileRunArguments, pero para su uso con el tipo de compilación de contenedor del SDK de .NET.
DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" Argumentos adicionales que se van a pasar al docker run comando.
/
Esta configuración solo se aplica a los proyectos que usan el tipo de compilación de contenedor Dockerfile.

En Visual Studio 17.3 y versiones posteriores, puede usar los siguientes tokens de reemplazo agregados:

- {ProjectDir}: ruta de acceso completa al directorio del proyecto.

- {OutDir}: valor de la propiedad de MSBuild OutDir.
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80",
"ASPNETCORE_HTTPS_PORT": "44381"
}
Estos valores de variables 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 Cantidad máxima de tiempo (en segundos) que se 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.
Cuando el destino son los 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.
Cuando el destino son los contenedores de Windows en Windows 10 RS3 o versiones anteriores, se reemplaza por "443" o "80", en función de si se usa SSL.
publishAllPorts "publishAllPorts": true Si es true, pase -P a docker run, lo que publica todos los puertos expuestos a un puerto aleatorio. Consulte Documentación de Docker. Pero, al especificar sslPort, Visual Studio sigue pasando -p 5002:443, por lo que el servicio debe seguir escuchando en el puerto 5002.
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 del proyecto y en el archivo de configuración de inicio, el valor del archivo de configuración de inicio tiene prioridad.

Pasos siguientes

Configure el proyecto estableciendo las propiedades de compilación las herramientas de contenedor.

Vea también