다음을 통해 공유


Visual Studio 컨테이너 도구 구성

컨테이너 도구 설정을 사용하여 Visual Studio가 Docker 컨테이너에서 작동하는 방식의 몇 가지 측면을 제어할 수 있습니다. 이 문서에서는 Docker 컨테이너를 사용할 때 Visual Studio 성능 및 리소스 사용량에 영향을 줄 수 있는 컨테이너 도구 설정을 구성하는 방법을 설명합니다.

필수 조건

필수 조건

컨테이너 도구 설정

설정에 액세스하려면 주 Visual Studio 메뉴에서 도구 > 옵션을 선택합니다. 왼쪽 창에서 아래로 스크롤하여 컨테이너 도구를 확장합니다.

일반 설정

Visual Studio 컨테이너 도구 옵션의 스크린샷.

다음 표에서는 일반 설정에 대해 설명합니다.

설정 기본값 설명
필요한 경우 Docker Desktop 설치 제안해 주세요 Docker Desktop이 설치되어 있지 않은 경우 프롬프트를 표시할지 여부를 선택합니다.
필요한 경우 Docker Desktop 시작 제안해 주세요 Docker Desktop이 시작되지 않은 경우 자동으로 시작할지 또는 프롬프트를 표시할지 여부를 선택합니다.
ASP.NET Core SSL 인증서 신뢰 제안해 주세요 ASP.NET Core 프로젝트에서 SSL 인증서를 localhost 신뢰할 수 없는지 여부를 프롬프트할지 여부를 선택합니다.

Visual Studio 컨테이너 도구 옵션의 스크린샷.

다음 표에서는 일반 설정에 대해 설명합니다.

설정 기본값 설명
컨테이너 런타임이 설치되지 않은 경우 설치하라는 메시지 표시 활성화됨 Docker Desktop 또는 Podman이 설치되어 있지 않은 경우 프롬프트를 표시할지 여부를 선택합니다.
ASP.NET Core SSL 인증서를 신뢰하라는 메시지 표시 ASP.NET Core 프로젝트에서 SSL 인증서를 localhost 신뢰할 수 없는지 여부를 프롬프트할지 여부를 선택합니다.
필요한 경우 컨테이너 런타임 시작 제안해 주세요 Docker Desktop 또는 Podman이 시작되지 않은 경우 자동으로 시작할지 또는 메시지를 표시할지 여부를 선택합니다.
컨테이너 런타임 Auto 컨테이너 런타임을 선택합니다. Docker 및 Podman이 지원됩니다. Visual Studio에서 사용 중인 런타임을 검색할지 선택합니다Auto .

중요합니다

신뢰 ASP.NET Core SSL 인증서Neverlocalhost 로 설정하고 SSL 인증서를 신뢰할 수 없는 경우 런타임에 HTTPS 웹 요청이 실패할 수 있습니다. 이 경우 ASP.NET Core SSL 인증서를 신뢰하도록내게 물어보기로 설정하고, 프로젝트를 실행한 후 프롬프트에서 신뢰를 승인합니다.

단일 프로젝트 또는 Docker Compose 설정

컨테이너 도구 단일 프로젝트Docker Compose 설정은 동일합니다.

Visual Studio 2022 컨테이너 도구 옵션의 스크린샷

다음 표에서는 단일 프로젝트Docker Compose 설정에 대해 설명합니다.

설정 기본값 설명
프로젝트 열기에서 필요한 Docker 이미지 끌어오기 진실 컨테이너 프로젝트를 로드할 때 백그라운드 Docker 끌어오기 작업을 시작할지 여부입니다. 코드를 실행할 준비가 되면 필요한 이미지를 다운로드하거나 다운로드 중입니다. 코드를 찾아보려는 경우 필요하지 않은 컨테이너 이미지를 다운로드하지 않도록 False 로 설정할 수 있습니다.
프로젝트 열기에서 업데이트된 Docker 이미지 끌어오기 .NET Core 프로젝트 열려 있는 프로젝트의 모든 이미지를 가장 최근으로 업데이트하기 위해 Docker 끌어오기를 실행할지, 실행한다면 어느 프로젝트에서 실행할지를 결정합니다.
열려 있는 프로젝트에서 컨테이너 실행 진실 컨테이너 프로젝트를 로드할 때 컨테이너를 생성하여 빌드 및 실행 시 준비 상태가 되도록 할지 여부. 컨테이너가 만들어지는 시기를 제어하려면 False로 설정합니다.
프로젝트 닫기에서 컨테이너 제거 진실 솔루션을 닫은 후 또는 Visual Studio를 닫은 후 솔루션에 대한 컨테이너를 제거할지 여부입니다.
컨테이너에서 서비스를 실행하여 Azure 인증 사용 진실 Visual Studio 버전 17.6 이상의 경우 컨테이너에 토큰 프록시 서비스를 설치하고 실행하여 Azure 인증을 사용하도록 설정할지 여부를 지정합니다. 이 서비스를 사용하면 앱이 개발 중에 Azure 서비스를 사용할 수 있습니다. 자세한 내용은 Azure 인증 구성 섹션을 참조하세요.
컨테이너에서 서비스를 실행함으로써 핫 리로드를 활성화합니다. 진실 Visual Studio 버전 17.7 이상에서는 핫 다시 로드 서비스를 설치하고 실행할지 여부를 지정합니다. 이 서비스는 디버깅 없이 Ctrl+F5 실행만 지원합니다.

컨테이너 준비 섹션의 다음 설정은 Visual Studio가 서비스를 시작하고 예상된 사용보다 먼저 이미지를 준비하여 성능을 최적화하는 방법을 제어합니다.

설정 기본값 설명
프로젝트 열기에서 필요한 이미지 끌어오기 활성화됨 컨테이너 프로젝트를 로드할 때 백그라운드 Docker 끌어오기 작업을 시작할지 여부입니다. 코드를 실행할 준비가 되면 필요한 이미지를 다운로드하거나 다운로드 중입니다. 코드를 찾아보려는 경우 필요하지 않은 컨테이너 이미지를 다운로드하지 않도록 False 로 설정할 수 있습니다.
열려 있는 프로젝트에서 컨테이너 실행 진실 컨테이너 프로젝트를 로드할 때 컨테이너를 생성하여 빌드 및 실행 시 준비 상태가 되도록 할지 여부. 컨테이너가 만들어지는 시기를 제어하려면 False로 설정합니다.
프로젝트 닫기에서 컨테이너 제거 진실 솔루션을 닫은 후 또는 Visual Studio를 닫은 후 솔루션에 대한 컨테이너를 제거할지 여부입니다.

디버깅 섹션에 표시되는 설정은 다음과 같습니다.

설정 기본값 설명
컨테이너에서 서비스를 실행하여 Azure 인증 사용 활성화됨 Azure 인증을 사용하도록 설정하기 위해 컨테이너에 토큰 프록시 서비스를 설치하고 실행할지 여부입니다. 이 서비스를 사용하면 앱이 개발 중에 Azure 서비스를 사용할 수 있습니다. 자세한 내용은 Azure 인증 구성 섹션을 참조하세요.
컨테이너에서 서비스를 실행함으로써 핫 리로드를 활성화합니다. 활성화됨 핫 다시 로드 서비스를 설치하고 실행할지 여부입니다. 이 서비스는 디버깅 없이 Ctrl+F5 실행만 지원합니다.

컨테이너 창 설정

컨테이너 창 설정은 Docker 컨테이너 및 이미지에 대한 정보를 표시하는 Visual Studio IDE의 컨테이너 창에 적용됩니다. 자세한 내용은 컨테이너 창 사용을 참조하세요.

컨테이너 창에 사용할 수 있는 설정을 보여 주는 Visual Studio 컨테이너 도구 옵션의 스크린샷.

다음 표에서는 컨테이너 창 설정에 대해 설명합니다.

설정 기본값 설명
컨테이너를 정리하기 전에 확인 사용하지 않는 컨테이너를 정리할 때 메시지를 표시할지 여부입니다.
이미지를 정리하기 전에 확인 사용하지 않는 이미지를 정리할 때 메시지를 표시할지 여부입니다.
컨테이너를 제거하기 전에 확인 컨테이너를 제거할 때 메시지를 표시할지 여부입니다.
이미지를 제거하기 전에 확인 이미지를 제거할 때 메시지를 표시할지 여부입니다.
많은 수의 이미지를 실행하기 전에 확인 한 번에 10개 이상의 이미지에서 컨테이너를 시작하기 전에 메시지를 표시할지 여부입니다.
컨테이너 창에서 사용할 문자열 형식 표시 {ContainerName}, {ImageName}, {ProjectName}, {ContainerID} 토큰을 지원하는 컨테이너 창에서 사용할 표시 문자열 형식입니다.
Docker Compose 프로젝트별로 컨테이너 그룹화 컨테이너가 속한 Docker Compose 프로젝트별로 컨테이너를 그룹화할지 여부입니다.

Azure 인증 구성

앱이 Azure 서비스를 사용하는 경우 컨테이너에서 실행할 때 Azure 서비스를 인증하려면 적절한 자격 증명이 필요합니다. 일반적으로 개발 중에 고유한 Azure 자격 증명을 사용할 수 있지만 컨테이너 환경에서 실행하려면 컨테이너화된 앱에 프로덕션 환경에서 사용하는 자격 증명이 필요합니다.

Visual Studio 2022 버전 17.6 이상에서는 단일 컨테이너 및 Docker Compose 프로젝트에서 토큰 프록시 서비스를 배포하고 실행하여 앱과 서비스가 Azure에서 인증되는 데 도움을 줍니다. 이 기능을 사용하려면 Azure Identity 1.9.0 이상이 필요합니다.

이 서비스를 사용하도록 설정하면 추가된 구성이나 설정 없이 컨테이너 내에서 대부분의 Azure 서비스를 자동으로 사용할 수 있습니다. 코드는 컨테이너 외부에서와 동일한 방식으로 DefaultAzureCredentialVisualStudioCredential를 사용하여 Azure 서비스에 인증할 수 있습니다. 자세한 내용은 Azure ID 1.9.0 추가 정보를 참조하세요.

이 기능을 사용하지 않도록 설정하려면 컨테이너에서 서비스 실행을 설정하여 컨테이너도구단일 프로젝트 또는 Docker Compose 설정에서 Azure 인증을 False로 설정합니다.

주의

토큰 프록시를 사용하고 특정 진단 로그를 사용하도록 설정하면 잠재적인 보안 문제가 발생합니다. 이러한 로그는 인증 자격 증명을 일반 텍스트로 노출할 수 있습니다. 다음 환경 변수는 이러한 로그를 사용하도록 설정합니다.

  • 단일 컨테이너 프로젝트의 MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED에서 %tmp%\Microsoft.VisualStudio.Containers.Tools에 로그인합니다.
  • Docker Compose 프로젝트의 경우 MS_VS_DOCKER_TOOLS_LOGGING_ENABLED에서 로그인하는 %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.

컨테이너 창 설정

컨테이너 창 설정은 Docker 컨테이너 및 이미지에 대한 정보를 표시하는 Visual Studio IDE의 컨테이너 창에 적용됩니다. 자세한 내용은 컨테이너 창 사용을 참조하세요.

다음 표에서는 컨테이너 창 설정에 대해 설명합니다.

설정 기본값 설명
컨테이너를 정리하기 전에 확인 활성화됨 사용하지 않는 컨테이너를 정리할 때 메시지를 표시할지 여부입니다.
이미지를 정리하기 전에 확인 활성화됨 사용하지 않는 이미지를 정리할 때 메시지를 표시할지 여부입니다.
컨테이너를 제거하기 전에 확인 활성화됨 컨테이너를 제거할 때 메시지를 표시할지 여부입니다.
이미지를 제거하기 전에 확인 활성화됨 이미지를 제거할 때 메시지를 표시할지 여부입니다.
많은 수의 이미지를 실행하기 전에 확인 활성화됨 한 번에 10개 이상의 이미지에서 컨테이너를 시작하기 전에 메시지를 표시할지 여부입니다.
컨테이너 창에서 사용할 문자열 형식 표시 {ContainerName}, {ImageName}, {ProjectName}, {ContainerID} 토큰을 지원하는 컨테이너 창에서 사용할 표시 문자열 형식입니다.
Docker Compose 프로젝트별로 컨테이너 그룹화 활성화됨 컨테이너가 속한 Docker Compose 프로젝트별로 컨테이너를 그룹화할지 여부입니다.

Azure 인증 구성

앱이 Azure 서비스를 사용하는 경우 컨테이너에서 실행할 때 Azure 서비스를 인증하려면 적절한 자격 증명이 필요합니다. 일반적으로 개발 중에 고유한 Azure 자격 증명을 사용할 수 있지만 컨테이너 환경에서 실행하려면 컨테이너화된 앱에 프로덕션 환경에서 사용하는 자격 증명이 필요합니다.

Visual Studio는 단일 컨테이너 및 Docker Compose 프로젝트에서 토큰 프록시 서비스를 배포하고 실행하여 앱과 서비스가 Azure에서 인증되는 데 도움이 됩니다. 이 기능을 사용하려면 Azure Identity 1.9.0 이상이 필요합니다.

이 서비스를 사용하도록 설정하면 추가된 구성이나 설정 없이 컨테이너 내에서 대부분의 Azure 서비스를 자동으로 사용할 수 있습니다. 코드는 컨테이너 외부에서와 동일한 방식으로 DefaultAzureCredentialVisualStudioCredential를 사용하여 Azure 서비스에 인증할 수 있습니다. 자세한 내용은 Azure ID 1.9.0 추가 정보를 참조하세요.

이 기능을 사용하지 않도록 설정하려면 컨테이너에서 서비스 실행을 설정하여 컨테이너도구단일 프로젝트 또는 Docker Compose 설정에서 Azure 인증을 False로 설정합니다.

주의

토큰 프록시를 사용하고 특정 진단 로그를 사용하도록 설정하면 잠재적인 보안 문제가 발생합니다. 이러한 로그는 인증 자격 증명을 일반 텍스트로 노출할 수 있습니다. 다음 환경 변수는 이러한 로그를 사용하도록 설정합니다.

  • 단일 컨테이너 프로젝트의 MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED에서 %tmp%\Microsoft.VisualStudio.Containers.Tools에 로그인합니다.
  • Docker Compose 프로젝트의 경우 MS_VS_DOCKER_TOOLS_LOGGING_ENABLED에서 로그인하는 %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.