Установка точки входа контейнера
Точка входа контейнера — это процесс, настроенный для запуска контейнера.
Visual Studio использует подходящую точку входа контейнера в зависимости от типа проекта и операционной системы контейнера. Ниже описываются возможные комбинации:
Тип контейнера | Точка входа |
---|---|
Контейнеры Linux | В качестве точки входа используется tail -f /dev/null , представляющая собой бесконечный цикл ожидания, в рамках которого обеспечивается выполнение контейнера. Когда приложение запускается через отладчик, это отладчик, который отвечает за запуск приложения (т dotnet webapp.dll . е. ). При запуске без отладки инструментарий выполняет docker exec -i {containerId} dotnet webapp.dll для запуска приложения. |
Контейнеры Windows | Точка входа — это то, что C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus запускает отладчик, поэтому он прослушивает подключения. Этот метод применяется, когда отладчик запускает приложение. При запуске без отладки используется команда docker exec . Для веб-приложений .NET Framework точка входа несколько отличается: к команде добавляется ServiceMonitor . |
Тип контейнера | Точка входа |
---|---|
Контейнеры Linux | Для .NET 6 и более поздних версий точка входа — dotnet --roll-forward Major /VSTools/DistrolessHelper/DistrolessHelper.dll --wait это точка входа. Для .NET 5 и более ранних версий точка входа — это точка tail -f /dev/null входа. Эти процессы используют бесконечное ожидание, чтобы сохранить контейнер запущенным, когда приложение не запущено. Когда приложение запускается, с отладкой или без нее, это отладчик, ответственный за запуск приложения (т dotnet webapp.dll . е. ) и поддержание работы контейнера. |
Контейнеры Windows | Точка входа — это то, что C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus запускает отладчик, поэтому он прослушивает подключения. Для веб-приложений .NET Framework точка входа несколько отличается: к команде добавляется ServiceMonitor . |
Точка входа контейнера может быть изменена только в проектах Docker Compose, а не в проектах с одним контейнером. См . свойства Docker Compose. Настройка процесса запуска приложения.