Paramètres de lancement des outils de conteneur
Dans le dossier Propriétés dans un projet ASP.NET Core, vous trouverez le fichier launchSettings.json
, qui contient des paramètres qui contrôlent le démarrage de votre application web sur votre ordinateur de développement. Pour plus d’informations sur l’utilisation de ce fichier dans ASP.NET développement, 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.
Pour Docker Compose, choisissez Gérer les paramètres de lancement de Docker Compose, puis 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 que cette section s’applique à Container Tools.
La plupart des paramètres de 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 démarrer votre application sont utilisés lors du lancement de votre projet dans le conteneur. |
DockerfileRunArguments | "dockerfileRunArguments": "-l mylabel=value" |
Arguments supplémentaires à passer à la commande docker run . |
environmentVariables |
"environmentVariables":
{
"ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> « ASPNETCORE_HTTPS_PORT » : « 44381"'' } |
Ces valeurs de variable d’environnement sont transmises au processus lorsqu’elles sont lancées 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 avoir lancé le projet. |
launchBrowserTimeout | "launchBrowserTimeout": 1 |
Durée maximale (en secondes) d’attente de la préparation de l’application 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 http ou https selon que SSL est utilisé. - {ServiceHost} - Généralement remplacé par localhost . Quand 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é. 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é. |
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 . |
Note
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 du 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 démarrer 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 commande docker run . (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 au répertoire du projet. - {OutDir} : valeur de la propriété MSBuild OutDir. |
N/A | 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 variable d’environnement sont transmises au processus lorsqu’elles sont lancées dans le conteneur. |
Nom du conteneur | containerName | mycontainer |
(17.12 et versions ultérieures) Nom du conteneur correspondant à l’expression régulière [a-zA-Z0-9][a-zA-Z0-9_.-] . |
Fichiers d’environnement de conteneur | containerRunEnvironmentFiles | "containerRunEnvironmentFiles": "abc.env;xyz.env" |
(17.12 et versions ultérieures) Liste des fichiers de variables d’environnement (fichiers.env ) séparés par des points-virgules. Consultez syntaxe de 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 avoir lancé le projet. |
N/A | 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 http ou https , selon que SSL est utilisé. - {ServiceHost} - Généralement remplacé par localhost . Quand 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é. 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é. |
Publier tous les ports | publishAllPorts | "publishAllPorts": true |
Si la valeur est true, passez -P à docker run , qui publie tous les ports exposés sur un port aléatoire. Consultez documentation Docker. Toutefois, lorsque vous spécifiez sslPort , Visual Studio passe toujours -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. |
N/A | 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 par containerRunArguments
, qui peut être défini dans l’interface utilisateur des profils de lancement en tant que Container run arguments
.
Note
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 Container Tools.