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í.

Při spuštění Nastavení.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í.

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.
containerRunArguments "containerRunArguments": "-l mylabel=value" To se mi líbí dockerfileRunArguments, ale pro použití s typem sestavení kontejneru .NET SDK.
DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" Další argumenty pro předání docker run příkazu.
/
Toto nastavení platí jenom pro projekty, které používají typ sestavení kontejneru Dockerfile.

V sadě Visual Studio 17.3 a novější můžete použít následující přidané náhradní tokeny:

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

- {OutDir} - Hodnota vlastnosti MSBuild OutDir.
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.
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ď 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.
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.
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í.

Další kroky

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

Viz také