Starteinstellungen für Containertools
Im Ordner "Eigenschaften" in einem ASP.NET Core-Projekt finden Sie die launchSettings.json
Datei, die Einstellungen enthält, die steuern, wie Ihre Web-App auf Ihrem Entwicklungscomputer gestartet wird. Ausführliche Informationen dazu, wie diese Datei in der ASP.NET-Entwicklung verwendet wird, finden Sie unter Verwenden von mehreren Umgebungen in ASP.NET Core.
Sie können diese Datei direkt bearbeiten, aber in Visual Studio IDE können Sie die Eigenschaften in dieser Datei auch über die Benutzeroberfläche bearbeiten. Wählen Sie die Dropdownliste neben der Startoption aus (z Docker
. B. oder .NET SDK
), und wählen Sie dann "Debugeigenschaften " für ein Einzelcontainerprojekt aus.
Wählen Sie für Docker Compose die Option "Starteinstellungen für Docker Verfassen verwalten" aus, und lesen Sie "Starten einer Teilmenge von Verfassendiensten".
In launchSettings.json beziehen sich die Einstellungen im Abschnitt Docker darauf, wie Visual Studio containerisierte Apps behandelt.
"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
}
Die Einstellung „commandName“ gibt an, dass dieser Abschnitt für Container Tools gilt.
Die meisten Einstellungen launchSettings.json
sind verfügbar und anwendbar, unabhängig davon, ob Sie eine Dockerfile verwenden oder die integrierte Unterstützung des .NET-Containerbuilds (verfügbar für .NET 7 und höher) verwenden.
In der folgenden Tabelle sind die Eigenschaften aufgeführt, die in diesem Abschnitt festgelegt werden können:
Einstellungsname | Beispiel | Beschreibung |
---|---|---|
commandLineArgs | "commandLineArgs": "--mysetting myvalue" |
Diese Befehlszeilenargumente zum Starten Ihrer App werden verwendet, wenn Sie das Projekt im Container starten. |
DockerfileRunArguments | "dockerfileRunArguments": "-l mylabel=value" |
Zusätzliche Argumente, die an den docker run Befehl übergeben werden sollen. |
EnvironmentVariables | "environmentVariables": { "ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> "ASPNETCORE_HTTPS_PORT": "44381"`` } |
Diese Umgebungsvariablenwerte werden beim Starten im Container an den Prozess übermittelt. |
httpPort | "httpPort": 24051 |
Dieser Port auf dem Host wird dem Port 80 des Containers zugeordnet, wenn der Container gestartet wird. |
launchBrowser | "launchBrowser": true |
Gibt an, ob der Browser nach dem erfolgreichen Starten des Projekts gestartet werden soll. |
launchBrowserTimeout | "launchBrowserTimeout": 1 |
Die maximale Wartezeit (in Sekunden), bis die App bereit ist, bevor der Browser gestartet wird. |
launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Diese URL wird beim Start des Browsers verwendet. Für diese Zeichenfolge werden folgende Ersetzungstoken unterstützt: - {Scheme} - Ersetzt durch entweder http oder https abhängig davon, ob SSL verwendet wird. - {ServiceHost} - In der Regel ersetzt durch localhost . Wenn Sie Windows-Container unter Windows 10 RS3 oder älter als Ziel verwenden, wird der Wert jedoch durch die IP-Adresse des Containers ersetzt. - {ServicePort} – Wird entweder durch sslPort oder httpPort ersetzt, je nachdem, ob SSL verwendet wird. Wenn Sie Windows-Container unter Windows 10 RS3 oder älter als Ziel verwendet werden, wird sie jedoch durch 443 oder 80 ersetzt, je nachdem, ob SSL verwendet wird. |
sslPort | "sslPort": 44381 |
Dieser Port auf dem Host wird dem Port 443 des Containers zugeordnet, wenn der Container gestartet wird. |
useSSL | "useSSL": true |
Gibt an, ob beim Starten des Projekts SSL verwendet werden soll. Wenn useSSL nicht angegeben ist, wird SSL verwendet, wenn sslPort > 0 verwendet wird. |
Hinweis
Wenn die gleichen Einstellungen, z. B. DockerfileRunArguments
, sowohl in der Projektdatei als auch in der Starteinstellungsdatei gefunden werden, hat der Wert in der Starteinstellungsdatei Vorrang.
Eigenschaft in der Benutzeroberfläche des Debugprofils | Einstellungsname in launchSettings.json | Beispiel | Beschreibung |
---|---|---|---|
Befehlszeilenargumente | commandLineArgs | "commandLineArgs": "--mysetting myvalue" |
Diese Befehlszeilenargumente zum Starten Ihrer App werden verwendet, wenn Sie das Projekt im Container starten. |
Containerausführungsargumente | containerRunArguments ContainerRunArguments |
"containerRunArguments": "-l mylabel=value" |
Zusätzliche Argumente, die an den docker run Befehl übergeben werden sollen. (Verwenden Sie die Kleinbuchstabenversion in Visual Studio 17.12 und höher. Die Großbuchstabenversion wurde in Visual Studio 17.9 eingeführt und wird aus Gründen der Abwärtskompatibilität bereitgestellt.) Sie können die folgenden Ersatztoken verwenden: - {ProjectDir} – Vollständiger Pfad zum Projektverzeichnis. - {OutDir} – Der Wert der MSBuild-Eigenschaft OutDir. |
N/V | DockerfileRunArguments | dockerfileRunArguments": "-l mylabel=value" |
Gefällt containerRunArguments mir , aber nur für Projekte, die den Dockerfile-Buildtyp verwenden. Für Visual Studio 17.12 und höher wird stattdessen die Verwendung containerRunArguments empfohlen. |
Umgebungsvariablen | environmentVariables | "environmentVariables": {"ASPNETCORE_URLS": "https://+:443;http://+:80" , "ASPNETCORE_HTTPS_PORT": "44381" } |
Diese Umgebungsvariablenwerte werden beim Starten im Container an den Prozess übermittelt. |
Containername | containerName | mycontainer |
(17.12 und höher) Ein Name für den Container, der dem regulären Ausdruck [a-zA-Z0-9][a-zA-Z0-9_.-] entspricht. |
Containerumgebungsdateien | containerRunEnvironmentFiles | "containerRunEnvironmentFiles": "abc.env;xyz.env" |
(17.12 und höher) Eine Liste von Umgebungsvariablendateien (.env Dateien), die durch Semikolons getrennt sind. Siehe env-Dateisyntax. |
Http-Port | httpPort | "httpPort": 24051 |
Dieser Port auf dem Host wird dem Port 80 des Containers zugeordnet, wenn der Container gestartet wird. |
Browser starten | launchBrowser | "launchBrowser": true |
Gibt an, ob der Browser nach dem erfolgreichen Starten des Projekts gestartet werden soll. |
N/V | launchBrowserTimeout | "launchBrowserTimeout": 1 |
Die maximale Zeitspanne (in Sekunden), bis die App bereit ist, bevor der Browser gestartet wird (nur Docker Compose). |
url | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Diese URL wird beim Start des Browsers verwendet. Für diese Zeichenfolge werden folgende Ersetzungstoken unterstützt: - {Scheme} - Ersetzt durch entweder http oder https , je nachdem, ob SSL verwendet wird. - {ServiceHost} - In der Regel ersetzt durch localhost . Wenn Sie Windows-Container unter Windows 10 RS3 oder älter als Ziel verwenden, wird der Wert jedoch durch die IP-Adresse des Containers ersetzt. - {ServicePort} – Wird normalerweise entweder durch sslPort oder httpPort ersetzt, je nachdem, ob SSL verwendet wird. Wenn Sie Windows-Container unter Windows 10 RS3 oder älter als Ziel verwendet werden, wird sie jedoch durch 443 oder 80 ersetzt, je nachdem, ob SSL verwendet wird. |
Veröffentlichen aller Ports | publishAllPorts | "publishAllPorts": true |
Wenn „true“ gilt, übergeben Sie -P an docker run , wodurch alle verfügbaren Ports an einen zufälligen Port veröffentlicht werden. Weitere Informationen finden Sie in der Docker-Dokumentation. Wenn Sie jedoch sslPort angeben, übergibt Visual Studio weiterhin -p 5002:443 , Ihr Dienst sollte deshalb weiterhin an Port 5002 lauschen. |
Ssl-Port | sslPort | "sslPort": 44381 |
Dieser Port auf dem Host wird dem Port 443 des Containers zugeordnet, wenn der Container gestartet wird. |
N/V | useSSL | "useSSL": true |
Gibt an, ob beim Starten des Projekts SSL verwendet werden soll. Wenn useSSL nicht angegeben ist, wird SSL verwendet, wenn sslPort > 0 verwendet wird. |
Nicht alle Einstellungen sind in der Benutzeroberfläche verfügbar, useSSL
z. B. . Um diese Einstellungen zu ändern, bearbeiten Sie launchSettings.json
sie direkt.
Die Einstellung DockerfileRunArguments
wird in Visual Studio 2022 17.12 und höher durch containerRunArguments
ersetzt, die in der Startprofile-Benutzeroberfläche als Container run arguments
festgelegt werden kann.
Hinweis
Wenn die gleiche Einstellung sowohl in der Projektdatei als auch in der Starteinstellungsdatei gefunden wird, hat der Wert in der Starteinstellungsdatei Vorrang.
Nächste Schritte
Konfigurieren Sie Ihr Projekt, indem Sie die Buildeigenschaften für Containertools festlegen.