Nastavení spuštění nástroje kontejneru

Ve složce Vlastnosti v projektu ASP.NET Core najdete launchSettings.json soubor, který obsahuje nastavení, která řídí, jak je webová aplikace spuštěná na vývojovém počítači. Podrobné informace o tom, jak se tento soubor používá při vývoji ASP.NET, najdete v tématu Použití více prostředí v ASP.NET Core.

Tento soubor můžete upravit přímo, ale v integrovaném vývojovém prostředí sady Visual Studio můžete také upravit vlastnosti v tomto souboru prostřednictvím uživatelského rozhraní. Zvolte rozevírací seznam vedle možnosti spuštění (například Docker nebo .NET SDK) a pak zvolte Vlastnosti ladění pro projekt s jedním kontejnerem.

Snímek obrazovky s dialogovým oknem spustit profil spuštění zobrazující nastavení spuštění profilu spuštění kontejneru

V případě Docker Compose zvolte Spravovat nastavení spuštění Docker Compose a viz Spuštění podmnožina služeb pro psaní zpráv.

V launchSettings.json souvisí nastavení v části Dockeru s tím, jak Visual Studio zpracovává kontejnerizované aplikace.

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

Nastavení commandName identifikuje, že tato část se vztahuje na nástroje kontejneru.

Většina nastavení je launchSettings.json dostupná a použitelná bez ohledu na to, jestli používáte soubor Dockerfile nebo používáte integrovanou podporu sestavení kontejneru sady .NET SDK (k dispozici pro .NET 7 a novější).

Následující tabulka uvádí vlastnosti, které lze nastavit v této části:

Název nastavení Příklad Popis
commandLineArgs "commandLineArgs": "--mysetting myvalue" Tyto argumenty příkazového řádku pro spuštění aplikace se použijí při spuštění projektu v kontejneru.
DockerfileRunArguments "dockerfileRunArguments": "-l mylabel=value" Další argumenty pro předání docker run příkazu.
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> "ASPNETCORE_HTTPS_PORT": "44381"''
}
Tyto hodnoty proměnných prostředí se předávají procesu při spuštění v kontejneru.
httpPort "httpPort": 24051 Tento port na hostiteli se při spuštění kontejneru mapuje na port 80 kontejneru.
launchBrowser "launchBrowser": true Určuje, jestli se má po úspěšném spuštění projektu spustit prohlížeč.
launchBrowserTimeout "launchBrowserTimeout": 1 Maximální doba (v sekundách), po kterou bude aplikace připravená, než se spustí prohlížeč.
launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Tato adresa URL se používá při spuštění prohlížeče. Podporované náhradní tokeny pro tento řetězec jsou:

- {Scheme} - Nahrazeno buď buď http nebo https v závislosti na tom, zda se používá SSL.

- {ServiceHost}- Obvykle nahrazeno .localhost
Pokud ale cílíte na kontejnery Windows ve Windows 10 RS3 nebo starší, nahradí se IP adresou kontejneru.

- {ServicePort} - Obvykle se nahrazuje buď sslPort nebo httpPort, v závislosti na tom, zda se používá SSL.
Pokud ale cílíte na kontejnery Windows ve Windows 10 RS3 nebo starší, nahradí 443 se buď nebo 80, v závislosti na tom, jestli se používá SSL.
sslPort "sslPort": 44381 Tento port na hostiteli se při spuštění kontejneru mapuje na port 443 kontejneru.
useSSL "useSSL": true Určuje, jestli se má při spuštění projektu používat PROTOKOL SSL. Pokud useSSL není zadáno, použije se protokol SSL, pokud sslPort > 0.

Poznámka:

Pokud se například DockerfileRunArgumentsstejné nastavení nachází v souboru projektu i v souboru nastavení spuštění, má přednost hodnota v souboru nastavení spuštění.

Vlastnost v uživatelském rozhraní profilu ladění Název nastavení v launchSettings.json Příklad Popis
Command line arguments commandLineArgs "commandLineArgs": "--mysetting myvalue" Tyto argumenty příkazového řádku pro spuštění aplikace se použijí při spuštění projektu v kontejneru.
Argumenty spuštění kontejneru containerRunArguments
ContainerRunArguments
"containerRunArguments": "-l mylabel=value" Další argumenty pro předání docker run příkazu.

(V sadě Visual Studio 17.12 a novější použijte malá písmena. Verze velká písmena byla zavedena v sadě Visual Studio 17.9 a je k dispozici pro zpětnou kompatibilitu.)

Můžete použít následující náhradní tokeny:

- {ProjectDir} - Úplná cesta k adresáři projektu.

- {OutDir} - Hodnota vlastnosti MSBuild OutDir.
DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" Podobně jako containerRunArgumentsu projektů, které používají typ sestavení Dockerfile. Pro Visual Studio 17.12 a novější se doporučuje místo toho použít containerRunArguments .
Proměnné prostředí environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80",
"ASPNETCORE_HTTPS_PORT": "44381"
}
Tyto hodnoty proměnných prostředí se předávají procesu při spuštění v kontejneru.
Název kontejneru containerName mycontainer (17.12 a novější) Název kontejneru odpovídající regulárnímu výrazu [a-zA-Z0-9][a-zA-Z0-9_.-].
Soubory prostředí kontejneru containerRunEnvironmentFiles "containerRunEnvironmentFiles": "abc.env;xyz.env" (17.12 a novější) Seznam souborů proměnných prostředí (.env souborů) oddělených středníky. Viz syntaxe souboru .env.
Http Port httpPort "httpPort": 24051 Tento port na hostiteli se při spuštění kontejneru mapuje na port 80 kontejneru.
Spustit prohlížeč launchBrowser "launchBrowser": true Určuje, jestli se má po úspěšném spuštění projektu spustit prohlížeč.
launchBrowserTimeout "launchBrowserTimeout": 1 Maximální doba (v sekundách), po kterou bude aplikace připravená, než se spustí prohlížeč (jenom Docker Compose).
URL launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Tato adresa URL se používá při spuštění prohlížeče. Podporované náhradní tokeny pro tento řetězec jsou:

- {Scheme} - Nahrazeno buď http nebo https, v závislosti na tom, zda se používá SSL.

- {ServiceHost}- Obvykle nahrazeno .localhost
Pokud ale cílíte na kontejnery Windows ve Windows 10 RS3 nebo starší, nahradí se IP adresou kontejneru.

- {ServicePort} - Obvykle se nahrazuje sslPort nebo httpPort v závislosti na tom, jestli se používá SSL.
Pokud ale cílíte na kontejnery Windows ve Windows 10 RS3 nebo starší, nahradí 443 se buď nebo 80, v závislosti na tom, jestli se používá SSL.
Publikování všech portů publishAllPorts "publishAllPorts": true Pokud je pravda, předejte -P do docker runsouboru , který publikuje všechny vystavené porty do náhodného portu. Viz dokumentace k Dockeru. Pokud však zadáte sslPort, Visual Studio stále předává -p 5002:443, takže vaše služba by měla stále naslouchat na portu 5002.
Ssl Port sslPort "sslPort": 44381 Tento port na hostiteli se při spuštění kontejneru mapuje na port 443 kontejneru.
useSSL "useSSL": true Určuje, jestli se má při spuštění projektu používat PROTOKOL SSL. Pokud useSSL není zadáno, použije se protokol SSL, pokud sslPort > 0.

V uživatelském rozhraní nejsou k dispozici všechna nastavení, useSSLnapříklad . Pokud chcete tato nastavení změnit, upravte launchSettings.json je přímo.

Toto nastavení DockerfileRunArguments je v sadě Visual Studio 2022 17.12 a novějších verzích containerRunArguments, které lze nastavit v uživatelském rozhraní profilů spuštění jako Container run arguments.

Poznámka:

Pokud se stejné nastavení nachází v souboru projektu i v souboru nastavení spuštění, má přednost hodnota v souboru nastavení spuštění.

Další kroky

Nakonfigurujte projekt nastavením vlastností sestavení Nástroje kontejneru.

Viz také