Paramètres de lancement des Outils du conteneur

Dans le dossier Propriétés d’un projet ASP.NET Core, vous pouvez trouver le launchSettings.json fichier, qui contient des paramètres qui contrôlent la façon dont votre application web est démarrée sur votre ordinateur de développement. Pour plus d’informations sur l’utilisation de ce fichier dans le développement ASP.NET, consultez Utiliser plusieurs environnements dans ASP.NET Core.

Vous pouvez modifier ce fichier directement, mais dans l’IDE Visual Studio, vous pouvez également modifier les propriétés de ce fichier via l’interface utilisateur. Choisissez la liste déroulante en regard de l’option de lancement (par exemple, Docker ou .NET SDK), puis choisissez Propriétés de débogage pour un projet à conteneur unique.

Capture d’écran de la boîte de dialogue lancer le profil, montrant les paramètres de lancement d’un profil de lancement de conteneur.

Pour Docker Compose, choisissez Gérer les paramètres de lancement de Docker Compose et consultez Lancer un sous-ensemble de services de composition.

Dans launchSettings.json, les paramètres de la section Docker sont liés à la façon dont Visual Studio gère les applications conteneurisées.

    "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
    }

Le paramètre commandName identifie le fait que cette section s’applique aux Outils du conteneur.

La plupart des paramètres launchSettings.json sont disponibles et applicables, que vous utilisiez un fichier Dockerfile ou que vous utilisiez la prise en charge intégrée du kit sdk .NET (disponible pour .NET 7 et versions ultérieures).

Le tableau suivant montre les propriétés qui peuvent être définies dans cette section :

Nom du paramètre Exemple Description
commandLineArgs "commandLineArgs": "--mysetting myvalue" Ces arguments de ligne de commande pour le démarrage de votre application sont utilisés lors du lancement de votre projet dans le conteneur.
DockerfileRunArguments "dockerfileRunArguments": "-l mylabel=value" Arguments supplémentaires à passer à la docker run commande.
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> "ASPNETCORE_HTTPS_PORT": "44381"``
}
Ces valeurs de variables d’environnement sont passées au processus lorsqu’il est lancé dans le conteneur.
httpPort "httpPort": 24051 Ce port sur l’hôte est mappé au port 80 du conteneur lors du lancement du conteneur.
launchBrowser "launchBrowser": true Indique s’il faut lancer le navigateur après le lancement du projet.
launchBrowserTimeout "launchBrowserTimeout": 1 Durée maximale (en secondes) d’attente pour que l’application soit prête avant de lancer le navigateur.
launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Cette URL est utilisée lors du lancement du navigateur. Les jetons de remplacement pris en charge pour cette chaîne sont les suivants :

- {Scheme} - Remplacé par l’un ou l’autre http ou https selon que SSL est utilisé.

- {ServiceHost} - Généralement remplacé par localhost.
Toutefois, lorsque vous ciblez des conteneurs Windows sur Windows 10 RS3 ou version antérieure, il est remplacé par l’adresse IP du conteneur.

- {ServicePort} - Généralement remplacé par sslPort ou httpPort, en fonction du SSL utilisé.
Toutefois, lorsque vous ciblez des conteneurs Windows sur Windows 10 RS3 ou version antérieure, il est remplacé par 443 ou 80, selon que SSL est utilisé ou non.
sslPort "sslPort": 44381 Ce port sur l’hôte est mappé au port 443 du conteneur lors du lancement du conteneur.
useSSL "useSSL": true Indique s’il faut utiliser SSL lors du lancement du projet. Si useSSL n’est pas spécifié, SSL est utilisé quand sslPort > 0.

Remarque

Si les mêmes paramètres, par exemple DockerfileRunArguments, se trouvent à la fois dans le fichier projet et dans le fichier de paramètres de lancement, la valeur dans le fichier de paramètres de lancement est prioritaire.

Propriété dans l’interface utilisateur du profil de débogage Définition du nom dans launchSettings.json Exemple Description
Arguments de ligne de commande commandLineArgs "commandLineArgs": "--mysetting myvalue" Ces arguments de ligne de commande pour le démarrage de votre application sont utilisés lors du lancement de votre projet dans le conteneur.
Arguments d’exécution de conteneur containerRunArguments
ContainerRunArguments
"containerRunArguments": "-l mylabel=value" Arguments supplémentaires à passer à la docker run commande.

(Utilisez la version minuscule dans Visual Studio 17.12 et versions ultérieures. La version majuscule a été introduite dans Visual Studio 17.9 et est fournie pour la compatibilité descendante.)

Vous pouvez utiliser les jetons de remplacement suivants :

- {ProjectDir} - Chemin d'accès complet du répertoire du projet.

- {OutDir} - Valeur de la propriété MSBuild OutDir.
S/O DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" Comme containerRunArguments, mais uniquement pour les projets qui utilisent le type de build Dockerfile. Pour Visual Studio 17.12 et versions ultérieures, il est recommandé d’utiliser containerRunArguments à la place.
Variables d'environnement environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80",
"ASPNETCORE_HTTPS_PORT": "44381"
}
Ces valeurs de variables d’environnement sont passées au processus lorsqu’il est lancé dans le conteneur.
Nom du conteneur containerName mycontainer (17.12 et versions ultérieures) Nom du conteneur correspondant à l’expression [a-zA-Z0-9][a-zA-Z0-9_.-]régulière .
Fichiers d’environnement de conteneur containerRunEnvironmentFiles "containerRunEnvironmentFiles": "abc.env;xyz.env" (17.12 et versions ultérieures) Liste de fichiers de variables d’environnement (.env fichiers) séparés par des points-virgules. Consultez la syntaxe du fichier .env.
Http Port httpPort "httpPort": 24051 Ce port sur l’hôte est mappé au port 80 du conteneur lors du lancement du conteneur.
Lancer le navigateur launchBrowser "launchBrowser": true Indique s’il faut lancer le navigateur après le lancement du projet.
S/O launchBrowserTimeout "launchBrowserTimeout": 1 Durée maximale (en secondes) d’attente de la préparation de l’application avant de lancer le navigateur (Docker Compose uniquement).
Url launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Cette URL est utilisée lors du lancement du navigateur. Les jetons de remplacement pris en charge pour cette chaîne sont les suivants :

- {Scheme} - Remplacé par l’une ou l’autre http ou https, selon que SSL est utilisé.

- {ServiceHost} - Généralement remplacé par localhost.
Toutefois, lorsque vous ciblez des conteneurs Windows sur Windows 10 RS3 ou version antérieure, il est remplacé par l’adresse IP du conteneur.

- {ServicePort} - Généralement remplacé par sslPort ou httpPort, selon que SSL est utilisé ou non.
Toutefois, lorsque vous ciblez des conteneurs Windows sur Windows 10 RS3 ou version antérieure, il est remplacé par 443 ou 80, selon que SSL est utilisé ou non.
Publier tous les ports publishAllPorts "publishAllPorts": true Si la valeur est « true », passez -P à docker run, ce qui publie tous les ports exposés sur un port aléatoire. Consultez la documentation Docker. Toutefois, lorsque vous spécifiez sslPort, Visual Studio passe quand même -p 5002:443, de sorte que votre service doit toujours être à l’écoute sur le port 5002.
Ssl Port sslPort "sslPort": 44381 Ce port sur l’hôte est mappé au port 443 du conteneur lors du lancement du conteneur.
S/O useSSL "useSSL": true Indique s’il faut utiliser SSL lors du lancement du projet. Si useSSL n’est pas spécifié, SSL est utilisé quand sslPort > 0.

Tous les paramètres ne sont pas disponibles dans l’interface utilisateur, par exemple useSSL. Pour modifier ces paramètres, modifiez launchSettings.json directement.

Le paramètre DockerfileRunArguments est superposé dans Visual Studio 2022 17.12 et versions ultérieures, containerRunArgumentsqui peut être défini dans l’interface utilisateur Des profils de lancement en tant que Container run arguments.

Remarque

Si le même paramètre se trouve dans le fichier projet et dans le fichier de paramètres de lancement, la valeur du fichier de paramètres de lancement est prioritaire.

Étapes suivantes

Configurez votre projet en définissant les propriétés de build des Outils du conteneur.

Voir aussi