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.
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. |
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 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. |
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 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. |
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, containerRunArguments
qui 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.