Udostępnij przez


Konfigurowanie narzędzi kontenera programu Visual Studio

Niektóre aspekty działania programu Visual Studio z kontenerami platformy Docker można kontrolować przy użyciu ustawień narzędzi kontenera . W tym artykule opisano sposób konfigurowania ustawień narzędzi kontenera , które mogą mieć wpływ na wydajność i użycie zasobów programu Visual Studio podczas pracy z kontenerami platformy Docker.

Wymagania wstępne

Wymagania wstępne

  • Docker Desktop.
  • Program Visual Studio, który ma zainstalowane pakiety do tworzenia ASP.NET i aplikacji internetowych, rozwoju aplikacji na platformie Azure, i/lub rozwoju aplikacji desktopowych .NET.

Ustawienia narzędzi do kontenerów

Aby uzyskać dostęp do ustawień, wybierz pozycję Narzędzia > Opcje w menu głównym programu Visual Studio. W okienku po lewej stronie przewiń w dół i rozwiń sekcję Narzędzia kontenera.

Ustawienia ogólne

Zrzut ekranu przedstawiający opcje narzędzi kontenera programu Visual Studio.

W poniższej tabeli opisano ustawienia ogólne :

Ustawienia Wartość domyślna Opis
Zainstaluj program Docker Desktop w razie potrzeby Podpowiedz mi Wybierz, czy chcesz wyświetlić monit, jeśli program Docker Desktop nie jest zainstalowany.
Uruchom program Docker Desktop w razie potrzeby Podpowiedz mi Jeśli nie uruchomiono programu Docker Desktop, wybierz, czy chcesz uruchomić go automatycznie, czy też wyświetlić monit.
Ufaj certyfikatowi SSL platformy ASP.NET Core Podpowiedz mi Wybierz, czy wyświetlić monit, jeśli certyfikat SSL localhost nie jest zaufany w projekcie ASP.NET Core.

Zrzut ekranu przedstawiający opcje narzędzi kontenera programu Visual Studio.

W poniższej tabeli opisano ustawienia ogólne :

Ustawienia Wartość domyślna Opis
Powiadomienie o zainstalowaniu środowiska wykonawczego kontenera, gdy nie jest ono zainstalowane Włączona Wybierz, czy chcesz otrzymywać powiadomienie, jeśli nie zainstalowano Docker Desktop lub Podman.
Poproś o zaufanie certyfikatu SSL dla ASP.NET Core Wybierz, czy wyświetlić monit, jeśli certyfikat SSL localhost nie jest zaufany w projekcie ASP.NET Core.
Uruchom środowisko uruchomieniowe kontenera w razie potrzeby Podpowiedz mi Jeśli nie uruchomiono programu Docker Desktop lub Podman, wybierz, czy chcesz uruchomić go automatycznie, czy też wyświetlić monit.
Środowisko uruchomieniowe kontenera Auto Wybierz środowisko uruchomieniowe kontenera; Obsługiwane są platformy Docker i narzędzie Podman. WybierzAuto , czy chcesz, aby program Visual Studio wykrył, którego środowiska uruchomieniowego używasz.

Ważne

Jeśli ustawisz Ufaj certyfikatowi SSL ASP.NET Core na Nigdy, a localhost certyfikat SSL nie jest zaufany, żądania HTTPS mogą zakończyć się niepowodzeniem podczas wykonywania kodu. W takim przypadku ustaw Trust ASP.NET Core SSL certificate na Monituj, uruchom projekt i potwierdź zaufanie po wyświetleniu monitu.

Ustawienia pojedynczego projektu lub narzędzia Docker Compose

Ustawienia pojedynczego projektu i Docker Compose w Narzędziach kontenerów są identyczne.

Zrzut ekranu przedstawiający opcje narzędzi kontenera programu Visual Studio 2022.

W poniższej tabeli opisano ustawienia single Project i Docker Compose :

Ustawienia Wartość domyślna Opis
Ściągnij wymagane obrazy Docker przy otwieraniu projektu Prawda Czy należy uruchomić operację ściągania platformy Docker w tle podczas ładowania projektu kontenera. Obrazy wymagane są pobierane lub będą pobierane, gdy będziesz gotowy do uruchomienia kodu. Jeśli chcesz tylko przeglądać kod, możesz ustawić wartość False , aby uniknąć pobierania obrazów kontenerów, których nie potrzebujesz.
Ściąganie zaktualizowanych obrazów Dockera przy otwieraniu projektu Projekty platformy .NET Core Niezależnie od tego, czy i na których projektach uruchamiać polecenie 'docker pull' dla wszystkich obrazów w celu uzyskania najnowszych aktualizacji w projekcie.
Uruchamianie kontenerów w otwartym projekcie Prawda Czy utworzyć kontener podczas ładowania projektu kontenera, aby był gotowy podczas kompilowania i uruchamiania. Jeśli wolisz kontrolować, kiedy kontener jest tworzony, ustaw wartość False.
Usuń kontenery po zamknięciu projektu Prawda Czy usunąć kontenery dla rozwiązania po jego zamknięciu lub zamknięciu programu Visual Studio.
Uruchamianie usługi w kontenerach w celu włączenia uwierzytelniania platformy Azure Prawda W przypadku programu Visual Studio w wersji 17.6 lub nowszej należy zainstalować i uruchomić usługę serwera proxy tokenu w kontenerze w celu włączenia uwierzytelniania platformy Azure. Ta usługa umożliwia aplikacjom korzystanie z usług platformy Azure podczas programowania. Aby uzyskać więcej informacji, zobacz sekcję Konfigurowanie uwierzytelniania platformy Azure .
Uruchamianie usługi w kontenerach w celu włączenia przeładowywania na gorąco Prawda W przypadku programu Visual Studio w wersji 17.7 lub nowszej, należy zdecydować, czy zainstalować i uruchomić usługę Hot Reload. Ta usługa obsługuje tylko działanie bez debugowania, Ctrl+F5.

Poniższe ustawienia w sekcji Rozgrzewka kontenera kontrolują sposób optymalizacji wydajności programu Visual Studio przez uruchamianie usług i przygotowywanie obrazów przed przewidywanym użyciem.

Ustawienia Wartość domyślna Opis
Ściąganie wymaganych obrazów w otwartym projekcie Włączona Czy należy uruchomić operację ściągania platformy Docker w tle podczas ładowania projektu kontenera. Obrazy wymagane są pobierane lub będą pobierane, gdy będziesz gotowy do uruchomienia kodu. Jeśli chcesz tylko przeglądać kod, możesz ustawić wartość False , aby uniknąć pobierania obrazów kontenerów, których nie potrzebujesz.
Uruchamianie kontenerów w otwartym projekcie Prawda Czy utworzyć kontener podczas ładowania projektu kontenera, aby był gotowy podczas kompilowania i uruchamiania. Jeśli wolisz kontrolować, kiedy kontener jest tworzony, ustaw wartość False.
Usuń kontenery po zamknięciu projektu Prawda Czy usunąć kontenery dla rozwiązania po jego zamknięciu lub zamknięciu programu Visual Studio.

W sekcji Debugowanie są wyświetlane następujące ustawienia:

Ustawienia Wartość domyślna Opis
Uruchamianie usługi w kontenerach w celu włączenia uwierzytelniania platformy Azure Włączona Czy zainstalować i uruchomić usługę serwera proxy tokenów w kontenerze dla włączenia uwierzytelniania Azure. Ta usługa umożliwia aplikacjom korzystanie z usług platformy Azure podczas programowania. Aby uzyskać więcej informacji, zobacz sekcję Konfigurowanie uwierzytelniania platformy Azure .
Uruchamianie usługi w kontenerach w celu włączenia przeładowywania na gorąco Włączona Czy zainstalować i uruchomić usługę Hot Reload. Ta usługa obsługuje tylko działanie bez debugowania, Ctrl+F5.

Ustawienia okna kontenerów

Ustawienia okna kontenerów dotyczą okna Kontenery w środowisku IDE programu Visual Studio, które zawiera informacje o kontenerach i obrazach platformy Docker. Aby uzyskać więcej informacji, zobacz Używanie okna Kontenera.

Zrzut ekranu przedstawiający opcje narzędzi kontenera programu Visual Studio z ustawieniami dostępnymi dla okna Kontenery.

W poniższej tabeli opisano ustawienia okna kontenerów :

Ustawienia Wartość domyślna Opis
Potwierdź przed oczyszczeniem kontenerów Zawsze Czy wyświetlić monit podczas oczyszczania nieużywanych kontenerów.
Przed oczyszczeniem obrazów potwierdź Zawsze Czy wyświetlić monit podczas oczyszczania nieużywanych obrazów.
Potwierdź przed usunięciem kontenera Zawsze Czy podczas usuwania kontenera zostanie wyświetlony monit.
Potwierdź przed usunięciem obrazu Zawsze Określa, czy podczas usuwania obrazu zostanie wyświetlony monit.
Przed uruchomieniem dużej liczby obrazów potwierdź Zawsze Czy wyświetlić monit przed uruchomieniem kontenerów z więcej niż dziesięciu obrazów jednocześnie.
Format wyświetlania ciągu do użycia w oknie Kontenerów Pusty Format ciągu wyświetlania używany w oknie Kontenery z obsługą tokenów {ContainerName}, {ImageName}, {ProjectName} i {ContainerID}.
Grupowanie kontenerów według projektu Docker Compose Zawsze Czy grupować kontenery według projektu Docker Compose, którego są częścią.

Konfigurowanie uwierzytelniania platformy Azure

Jeśli aplikacja korzysta z usług platformy Azure, wymaga odpowiednich poświadczeń do uwierzytelniania za pomocą usług platformy Azure, gdy działa w kontenerze. Zazwyczaj podczas programowania można używać własnych poświadczeń platformy Azure, ale do uruchamiania w środowisku kontenera aplikacja konteneryzowana wymaga poświadczeń używanych w środowisku produkcyjnym.

Program Visual Studio 2022 w wersji 17.6 lub nowszej wdraża i uruchamia usługę serwera proxy token w projektach jednokontenerowych oraz Docker Compose, aby wspomóc uwierzytelnianie aplikacji i usług na platformie Azure. Ta funkcja wymaga usługi Azure Identity 1.9.0 lub nowszej.

Po włączeniu tej usługi można automatycznie używać większości usług Azure w kontenerze bez żadnej dodatkowej konfiguracji lub ustawień. Kod może używać elementów DefaultAzureCredential i VisualStudioCredential do uwierzytelniania za pomocą usług platformy Azure w taki sam sposób jak poza kontenerem. Aby uzyskać więcej informacji, zobacz plik README usługi Azure Identity 1.9.0.

Aby wyłączyć tę funkcję, ustaw pozycję Uruchom usługę w kontenerach, aby włączyć uwierzytelnianie platformy Azure na wartość False w ustawieniach Pojedynczy projekt narzędzi kontenerówlub Docker Compose.

Ostrzeżenie

Użycie serwera proxy tokenu i włączenie niektórych dzienników diagnostycznych stanowi potencjalny problem z zabezpieczeniami. Te dzienniki mogą uwidaczniać poświadczenia uwierzytelniania jako zwykły tekst. Następujące zmienne środowiskowe umożliwiają te dzienniki:

  • W przypadku projektów pojedynczego kontenera, MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, które loguje się na %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • W przypadku projektów narzędzia Docker Compose, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, które się logują w %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.

Ustawienia okna kontenerów

Ustawienia okna kontenerów dotyczą okna Kontenery w środowisku IDE programu Visual Studio, które zawiera informacje o kontenerach i obrazach platformy Docker. Aby uzyskać więcej informacji, zobacz Używanie okna Kontenera.

W poniższej tabeli opisano ustawienia okna kontenerów :

Ustawienia Wartość domyślna Opis
Potwierdź przed oczyszczeniem kontenerów Włączona Czy wyświetlić monit podczas oczyszczania nieużywanych kontenerów.
Przed oczyszczeniem obrazów potwierdź Włączona Czy wyświetlić monit podczas oczyszczania nieużywanych obrazów.
Potwierdź przed usunięciem kontenera Włączona Czy podczas usuwania kontenera zostanie wyświetlony monit.
Potwierdź przed usunięciem obrazu Włączona Określa, czy podczas usuwania obrazu zostanie wyświetlony monit.
Przed uruchomieniem dużej liczby obrazów potwierdź Włączona Czy wyświetlić monit przed uruchomieniem kontenerów z więcej niż dziesięciu obrazów jednocześnie.
Format wyświetlania ciągu do użycia w oknie Kontenerów Pusty Format ciągu wyświetlania używany w oknie Kontenery z obsługą tokenów {ContainerName}, {ImageName}, {ProjectName} i {ContainerID}.
Grupowanie kontenerów według projektu Docker Compose Włączona Czy grupować kontenery według projektu Docker Compose, którego są częścią.

Konfigurowanie uwierzytelniania platformy Azure

Jeśli aplikacja korzysta z usług platformy Azure, wymaga odpowiednich poświadczeń do uwierzytelniania za pomocą usług platformy Azure, gdy działa w kontenerze. Zazwyczaj podczas programowania można używać własnych poświadczeń platformy Azure, ale do uruchamiania w środowisku kontenera aplikacja konteneryzowana wymaga poświadczeń używanych w środowisku produkcyjnym.

Visual Studio wdraża i uruchamia usługę serwera proxy tokenów w projektach z pojedynczym kontenerem i Docker Compose, aby pomóc aplikacjom i usługom w uwierzytelnianiu na platformie Azure. Ta funkcja wymaga usługi Azure Identity 1.9.0 lub nowszej.

Po włączeniu tej usługi można automatycznie używać większości usług Azure w kontenerze bez żadnej dodatkowej konfiguracji lub ustawień. Kod może używać elementów DefaultAzureCredential i VisualStudioCredential do uwierzytelniania za pomocą usług platformy Azure w taki sam sposób jak poza kontenerem. Aby uzyskać więcej informacji, zobacz plik README usługi Azure Identity 1.9.0.

Aby wyłączyć tę funkcję, ustaw pozycję Uruchom usługę w kontenerach, aby włączyć uwierzytelnianie platformy Azure na wartość False w ustawieniach Pojedynczy projekt narzędzi kontenerówlub Docker Compose.

Ostrzeżenie

Użycie serwera proxy tokenu i włączenie niektórych dzienników diagnostycznych stanowi potencjalny problem z zabezpieczeniami. Te dzienniki mogą uwidaczniać poświadczenia uwierzytelniania jako zwykły tekst. Następujące zmienne środowiskowe umożliwiają te dzienniki:

  • W przypadku projektów pojedynczego kontenera, MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, które loguje się na %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • W przypadku projektów narzędzia Docker Compose, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, które się logują w %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.