Konfigurowanie narzędzi kontenera programu Visual Studio

Za pomocą ustawień programu Visual Studio można kontrolować niektóre aspekty działania programu Visual Studio z kontenerami platformy Docker, w tym ustawienia wpływające na wydajność i użycie zasobów podczas pracy z kontenerami platformy Docker.

Ustawienia narzędzi kontenera

W menu głównym wybierz pozycję Narzędzia Opcje i rozwiń węzeł Narzędzia >> kontenera Ustawienia. Zostanie wyświetlone ustawienia narzędzi kontenera.

Ustawienia ogólne narzędzi kontenera:

Opcje narzędzi Kontener Tools programu Visual Studio: Zainstaluj program Docker Desktop w razie potrzeby i Ufaj certyfikatowi SSL ASP.NET Core.

Ustawienia pojedynczych projektów narzędzi kontenerów i narzędzia Docker Compose:

Opcje narzędzi Kontener Tools programu Visual Studio pokazujące: Kill containers on project close (Zabij kontenery w pobliżu projektu), Pull required Docker images on project open (Ściąganie wymaganych obrazów platformy Docker w otwartym projekcie) i Run containers on project open (Uruchamianie kontenerów w otwartym projekcie).

Opcje narzędzi Kontener Tools programu Visual Studio, pokazujące: Zabij kontenery w zamknięciu projektu, Ściągaj wymagane obrazy platformy Docker w otwartym projekcie, Uruchamianie kontenerów w kontenerach, uruchamianie usługi w kontenerach w celu włączenia uwierzytelniania platformy Azure i uruchamianie usługi w kontenerach w celu włączenia Przeładowywanie na gorąco.

Poniższa tabela może pomóc w podjęciu decyzji, jak ustawić te opcje.

W poniższej tabeli opisano ustawienia ogólne :

Nazwisko Ustawienie domyślne Dotyczy opis
Zainstaluj program Docker Desktop w razie potrzeby Monituj mnie Pojedynczy projekt, docker Compose Wybierz, czy chcesz wyświetlić monit, jeśli program Docker Desktop nie jest zainstalowany.
Ufaj certyfikatowi SSL platformy ASP.NET Core Monituj mnie projekty ASP.NET Core 2.x Po ustawieniu opcji Monituj localhost mnie, jeśli certyfikat SSL nie jest zaufany, program Visual Studio będzie monitowany za każdym razem, gdy uruchomisz projekt ASP.NET Core 2.x.

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

Nazwisko Ustawienie domyślne Dotyczy opis
Ściąganie wymaganych obrazów platformy Docker w otwartym projekcie Prawda Pojedynczy projekt, docker Compose W celu zwiększenia wydajności podczas ładowania projektów program Visual Studio uruchomi operację ściągania platformy Docker w tle, aby gdy wszystko będzie gotowe do uruchomienia kodu, obraz został już pobrany lub w trakcie pobierania. Jeśli tylko ładujesz projekty i kod przeglądania, możesz ustawić wartość False , aby uniknąć pobierania obrazów kontenerów, których nie potrzebujesz.
Ściąganie zaktualizowanych obrazów platformy Docker w otwartym projekcie Projekty platformy .NET Core Pojedynczy projekt, docker Compose Po otwarciu projektu sprawdź aktualizacje obrazów i pobierz je, jeśli są dostępne.
Uruchamianie kontenerów w otwartym projekcie Prawda Pojedynczy projekt, docker Compose Ponownie w celu zwiększenia wydajności program Visual Studio tworzy kontener przed upływem czasu, aby był gotowy do użycia podczas kompilowania i uruchamiania kontenera. Jeśli chcesz kontrolować, kiedy kontener jest tworzony, ustaw wartość False.
Usuwanie kontenerów w zamknięciu projektu Prawda Pojedynczy projekt, docker Compose Ustaw wartość Fałsz , jeśli chcesz, aby kontenery rozwiązania miały zostać zachowane po zamknięciu rozwiązania lub zamknięciu programu Visual Studio.
Nazwisko Ustawienie domyślne Dotyczy opis
Ściąganie wymaganych obrazów platformy Docker w otwartym projekcie Prawda Pojedynczy projekt, docker Compose W celu zwiększenia wydajności podczas ładowania projektów program Visual Studio uruchomi operację ściągania platformy Docker w tle, aby gdy wszystko będzie gotowe do uruchomienia kodu, obraz został już pobrany lub w trakcie pobierania. Jeśli tylko ładujesz projekty i kod przeglądania, możesz ustawić wartość False , aby uniknąć pobierania obrazów kontenerów, których nie potrzebujesz.
Ściąganie zaktualizowanych obrazów platformy Docker w otwartym projekcie Projekty platformy .NET Core Pojedynczy projekt, docker Compose Po otwarciu projektu sprawdź aktualizacje obrazów i pobierz je, jeśli są dostępne.
Uruchamianie kontenerów w otwartym projekcie Prawda Pojedynczy projekt, docker Compose Ponownie w celu zwiększenia wydajności program Visual Studio tworzy kontener przed upływem czasu, aby był gotowy do użycia podczas kompilowania i uruchamiania kontenera. Jeśli chcesz kontrolować, kiedy kontener jest tworzony, ustaw wartość False.
Usuwanie kontenerów w zamknięciu projektu Prawda Pojedynczy projekt, docker Compose Ustaw wartość Fałsz , jeśli chcesz, aby kontenery rozwiązania miały zostać zachowane po zamknięciu rozwiązania lub zamknięciu programu Visual Studio.
Uruchamianie usługi w kontenerach w celu włączenia uwierzytelniania platformy Azure Prawda Pojedynczy projekt, docker Compose Program Visual Studio w wersji 17.6 lub nowszej uruchamia usługę serwera proxy tokenów w kontenerze, który pomaga w uwierzytelnianiu platformy Azure, aby aplikacje mogły korzystać z usług platformy Azure podczas programowania. Ustaw wartość na False , jeśli nie chcesz, aby ta usługa została zainstalowana i uruchomiona.
Uruchamianie usługi w kontenerach w celu włączenia Przeładowywanie na gorąco Prawda Pojedynczy projekt, docker Compose Ustaw wartość na False , jeśli nie chcesz, aby ta usługa została zainstalowana i uruchomiona. Usługa Przeładowywanie na gorąco jest dostępna w programie Visual Studio 2022 w wersji 17.7 lub nowszej i obsługuje uruchamianie tylko bez debugowania (Ctrl+F5).

Ustawienia okna narzędzia Kontenery kontrolują ustawienia, które mają zastosowanie do okna narzędzia Kontenery, w którym są wyświetlane informacje o kontenerach i obrazach platformy Docker. Zobacz Korzystanie z okna Kontenery

Opcje narzędzi kontenera programu Visual Studio z wyświetlonymi ustawieniami dostępnymi dla okna narzędzia Kontenery

W poniższej tabeli opisano ustawienia okna Kontenery :

Nazwisko Ustawienie domyślne opis
Potwierdź przed oczyszczeniem kontenerów Zawsze Określa, czy podczas oczyszczania nieużywanych kontenerów jest wyświetlany monit.
Przed oczyszczeniem obrazów potwierdź Zawsze Określa, czy podczas oczyszczania nieużywanych obrazów jest wyświetlany monit.
Potwierdź przed usunięciem kontenera Zawsze Określa, czy podczas usuwania kontenera jest wyświetlany monit.
Potwierdź przed usunięciem obrazu Zawsze Określa, czy podczas usuwania obrazu jest wyświetlany monit.
Przed uruchomieniem dużej liczby obrazów potwierdź Zawsze Określa, czy jest wyświetlany monit przed uruchomieniem kontenerów z więcej niż 10 obrazów naraz.

Ostrzeżenie

localhost Jeśli certyfikat SSL nie jest zaufany i zaznacz pole, aby pominąć monitowanie, żądania internetowe HTTPS mogą zakończyć się niepowodzeniem w czasie wykonywania w aplikacji lub usłudze. W takim przypadku wyczyść pole wyboru Nie monituj, uruchom projekt i wskaż zaufanie w wierszu polecenia.

Konfigurowanie uwierzytelniania platformy Azure

Jeśli aplikacja korzysta z usług platformy Azure, wymaga odpowiednich poświadczeń uwierzytelniania podczas uruchamiania w kontenerze w celu uwierzytelniania za pomocą usług platformy Azure. Podczas programowania zazwyczaj można używać własnych poświadczeń platformy Azure zamiast poświadczeń używanych przez aplikację w środowisku produkcyjnym, ale te poświadczenia są wymagane w środowisku kontenera, aby były przydatne dla uruchomionej konteneryzowanej aplikacji.

Począwszy od programu Visual Studio 2022 w wersji 17.6, zarówno w projektach jednokontenerowych, jak i docker Compose, usługa serwera proxy tokenu jest wdrażana i uruchamiana w kontenerach, które ułatwiają 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 platformy Azure bez dodatkowej konfiguracji ani konfiguracji w kontenerze. W szczególności kod może używać DefaultAzureCredential i VisualStudioCredential uwierzytelniać się za pomocą usług platformy Azure w taki sam sposób, jak poza kontenerem. Zobacz plik README usługi Azure Identity 1.9.0.

Aby wyłączyć tę funkcję, ustaw ustawienie Opcje narzędzi>Uruchom usługę w kontenerach, aby włączyć uwierzytelnianie platformy Azure (opisane wcześniej w tym artykule) na Falsewartość .

Uwaga

Istnieje potencjalny problem z zabezpieczeniami, jeśli używasz serwera proxy tokenu i włączono niektóre dzienniki diagnostyczne narzędzi kontenera. Po włączeniu rejestrowania poświadczenia uwierzytelniania mogą być rejestrowane jako zwykły tekst. Te dzienniki są włączane przez niektóre zmienne środowiskowe. W przypadku projektów pojedynczego kontenera zmienna środowiskowa to MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, która następnie loguje się w %tmp%\Microsoft.VisualStudio.Containers.Toolspliku . W przypadku projektów narzędzia Docker Compose jest MS_VS_DOCKER_TOOLS_LOGGING_ENABLEDto , który następnie loguje się w %tmp%\Microsoft.VisualStudio.DockerCompose.Toolspliku .

Przeczytaj więcej na temat pracy z kontenerami w programie Visual Studio w tym omówieniu.