Nastavení vstupního bodu kontejneru
Vstupní bod kontejneru je proces, který je nakonfigurovaný tak, aby se spustil při spuštění kontejneru.
Visual Studio používá vlastní vstupní bod kontejneru v závislosti na typu projektu a operačním systému kontejneru. Tady jsou různé kombinace:
Typ kontejneru | Vstupní bod |
---|---|
Kontejnery Linuxu | Vstupní bod je tail -f /dev/null , což je nekonečné čekání, aby kontejner běžel. Když se aplikace spustí prostřednictvím ladicího programu, je to ladicí program, který zodpovídá za spuštění aplikace (to znamená dotnet webapp.dll ). Pokud se spustí bez ladění, nástroj spustí docker exec -i {containerId} dotnet webapp.dll aplikaci. |
Kontejnery Windows | Vstupní bod je něco jako C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus spuštění ladicího programu, takže naslouchá připojením. Tato metoda se použije, když ladicí program spustí aplikaci. Při spuštění bez ladění docker exec se použije příkaz. U webových aplikací rozhraní .NET Framework se vstupní bod mírně liší tím, kde ServiceMonitor se přidá do příkazu. |
Typ kontejneru | Vstupní bod |
---|---|
Kontejnery Linuxu | Pro .NET 6 a novější je dotnet --roll-forward Major /VSTools/DistrolessHelper/DistrolessHelper.dll --wait vstupním bodem . Pro .NET 5 a starší je tail -f /dev/null vstupním bodem . Tyto procesy používají nekonečné čekání, aby kontejner běžel, když aplikace není spuštěná. Když se aplikace spustí s laděním nebo bez ní, je to ladicí program, který zodpovídá za spuštění aplikace (tj dotnet webapp.dll . ) a udržuje kontejner spuštěný. |
Kontejnery Windows | Vstupní bod je něco jako C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus spuštění ladicího programu, takže naslouchá připojením. U webových aplikací rozhraní .NET Framework se vstupní bod mírně liší tím, kde ServiceMonitor se přidá do příkazu. |
Vstupní bod kontejneru lze upravovat pouze v projektech Docker Compose, nikoli v projektech s jedním kontejnerem. Viz Vlastnosti Docker Compose – Přizpůsobení procesu spuštění aplikace.