Compartir a través de


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 para un proyecto de contenedor único.

Captura de pantalla del cuadro de diálogo de perfil de inicio, en la que se muestra la configuración de inicio de un perfil de inicio de contenedor.

Para Docker Compose, elija Administrar la configuración de inicio de Docker Compose y consulte Inicio de un subconjunto de servicios de redacció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 http 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, 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.

Propiedad en la interfaz de usuario del perfil de depuración Establecer el nombre en launchSettings.json Ejemplo Descripción
Argumentos de línea de comandos 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.
Argumentos de ejecución de contenedor containerRunArguments
ContainerRunArguments
"containerRunArguments": "-l mylabel=value" Argumentos adicionales que se van a pasar al docker run comando.

(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 de MSBuild OutDir.
N/D DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" Al igual containerRunArgumentsque , 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 variables 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 [a-zA-Z0-9][a-zA-Z0-9_.-]regular .
Archivos de entorno de contenedor containerRunEnvironmentFiles "containerRunEnvironmentFiles": "abc.env;xyz.env" (17.12 y versiones posteriores) Lista de archivos de variables de entorno (.env archivos) separados por punto y coma. Consulte sintaxis del 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/D 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).
Dirección 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.
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.
Publicación de todos los puertos 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.
Puerto Ssl sslPort "sslPort": 44381 Este puerto del host se asigna al puerto 443 del contenedor al iniciar el contenedor.
N/D 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 opciones 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 mediante 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.

Pasos siguientes

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

Vea también