Visual Studio Container Tools 구성

Visual Studio 설정을 사용하면 Docker 컨테이너 작업 시 성능과 리소스 사용량에 영향을 주는 설정을 포함하여 Visual Studio에서 Docker 컨테이너를 사용하는 방식의 몇 가지 측면을 제어할 수 있습니다.

컨테이너 도구 설정

주 메뉴에서 도구 > 옵션을 선택하고, 컨테이너 도구 > 설정을 확장합니다. 그러면 컨테이너 도구 설정이 표시됩니다.

컨테이너 도구 일반 설정:

Visual Studio 컨테이너 도구 옵션에 다음이 표시됨: 필요한 경우 Docker Desktop 설치, ASP.NET Core SSL 인증서 신뢰.

컨테이너 도구 단일 프로젝트Docker Compose 설정:

Visual Studio Container Tools 옵션에 다음이 표시됨: 프로젝트를 닫을 때 컨테이너 종료, 프로젝트를 열 때 필요한 Docker 이미지 풀하기, 프로젝트를 열 때 컨테이너 실행.

Visual Studio 컨테이너 도구 옵션, 표시: 프로젝트를 닫을 때 컨테이너 종료, 프로젝트를 열 때 필요한 Docker 이미지 끌어오기, 열린 프로젝트에서 컨테이너 실행, 컨테이너에서 서비스를 실행하여 Azure 인증을 사용하도록 설정하고 컨테이너에서 서비스를 실행하여 핫 다시 로드 사용하도록 설정합니다.

다음 표는 이러한 옵션을 설정하는 방법을 결정하는 데 도움이 될 수 있습니다.

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

이름 기본 설정 적용 대상 설명
필요한 경우 Docker Desktop 설치 메시지 표시 단일 프로젝트, Docker Compose Docker Desktop이 설치되어 있지 않은 경우 메시지를 표시할지 여부를 선택합니다.
ASP.NET Core SSL 인증서 신뢰 메시지 표시 ASP.NET Core 2.x 프로젝트 메시지 표시로 설정된 경우 localhost SSL 인증서를 신뢰할 수 없으면 ASP.NET Core 2.x 프로젝트를 실행할 때마다 Visual Studio에서 메시지가 표시됩니다.

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

이름 기본 설정 적용 대상 설명
프로젝트를 열 때 필요한 Docker 이미지 풀하기 True 단일 프로젝트, Docker Compose 프로젝트를 로드할 때 성능을 향상하기 위해 Visual Studio는 백그라운드에서 Docker 끌어오기 작업을 수행합니다. 이렇게 하면 코드를 실행할 준비가 되었을 때 이미지가 이미 다운로드되어 있거나 다운로드 중입니다. 프로젝트를 로드하고 코드를 검색하기만 하는 경우에는 불필요한 컨테이너 이미지를 다운로드하지 않도록 False로 설정할 수 있습니다.
프로젝트를 열 때 업데이트된 Docker 이미지 풀하기 .NET Core 프로젝트 단일 프로젝트, Docker Compose 프로젝트를 열 때 이미지에 대한 업데이트를 확인하고 사용 가능한 경우 다운로드합니다.
프로젝트를 열 때 컨테이너 실행 True 단일 프로젝트, Docker Compose 마찬가지로 성능 향상을 위해, Visual Studio는 준비된 상태에서 컨테이너를 빌드하고 실행할 수 있도록 컨테이너를 미리 만듭니다. 컨테이너를 만드는 시기를 제어하려면 False로 설정합니다.
프로젝트를 닫을 때 컨테이너 제거 True 단일 프로젝트, Docker Compose 솔루션을 닫거나 Visual Studio를 닫은 후에도 솔루션의 컨테이너를 계속 유지하려면 False로 설정합니다.
이름 기본 설정 적용 대상 설명
프로젝트를 열 때 필요한 Docker 이미지 풀하기 True 단일 프로젝트, Docker Compose 프로젝트를 로드할 때 성능을 향상하기 위해 Visual Studio는 백그라운드에서 Docker 끌어오기 작업을 수행합니다. 이렇게 하면 코드를 실행할 준비가 되었을 때 이미지가 이미 다운로드되어 있거나 다운로드 중입니다. 프로젝트를 로드하고 코드를 검색하기만 하는 경우에는 불필요한 컨테이너 이미지를 다운로드하지 않도록 False로 설정할 수 있습니다.
프로젝트를 열 때 업데이트된 Docker 이미지 풀하기 .NET Core 프로젝트 단일 프로젝트, Docker Compose 프로젝트를 열 때 이미지에 대한 업데이트를 확인하고 사용 가능한 경우 다운로드합니다.
프로젝트를 열 때 컨테이너 실행 True 단일 프로젝트, Docker Compose 마찬가지로 성능 향상을 위해, Visual Studio는 준비된 상태에서 컨테이너를 빌드하고 실행할 수 있도록 컨테이너를 미리 만듭니다. 컨테이너를 만드는 시기를 제어하려면 False로 설정합니다.
프로젝트를 닫을 때 컨테이너 제거 True 단일 프로젝트, Docker Compose 솔루션을 닫거나 Visual Studio를 닫은 후에도 솔루션의 컨테이너를 계속 유지하려면 False로 설정합니다.
컨테이너에서 서비스를 실행하여 Azure 인증을 사용하도록 설정하기 True 단일 프로젝트, Docker Compose Visual Studio 버전 17.6 이상에서는 개발 중에 앱이 Azure 서비스를 사용할 수 있도록 Azure 인증을 지원하는 토큰 프록시 서비스를 컨테이너에서 실행합니다. False 이 서비스를 설치하고 실행하지 않으려면 설정합니다.
컨테이너에서 서비스를 실행하여 핫 리로드 활성화하기 True 단일 프로젝트, Docker Compose False 이 서비스를 설치하고 실행하지 않으려면 설정합니다. 핫 다시 로드 서비스는 Visual Studio 2022 버전 17.7 이상에서 사용할 수 있으며 디버깅 없이 실행만 지원합니다(Ctrl+F5).

컨테이너 도구 창 설정은 Docker 컨테이너 및 이미지에 대한 정보를 보여 주는 컨테이너 도구 창에 적용되는 설정을 제어합니다. 컨테이너 창 사용을 참조하세요.

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

다음 표는 컨테이너 창 설정을 설명합니다.

이름 기본 설정 설명
컨테이너를 정리하기 전에 확인 항상 사용되지 않은 컨테이너를 정리할 때 메시지의 표시 여부를 제어합니다.
이미지를 정리하기 전에 확인 항상 사용되지 않은 이미지를 정리할 때 메시지의 표시 여부를 제어합니다.
컨테이너를 제거하기 전에 확인 항상 컨테이너를 제거할 때 메시지의 표시 여부를 제어합니다.
이미지를 제거하기 전에 확인 항상 이미지를 제거할 때 메시지의 표시 여부를 제어합니다.
다수의 이미지를 실행하기 전에 확인 항상 10개가 넘는 이미지에서 컨테이너를 동시에 시작하기 전에 메시지의 표시 여부를 제어합니다.

Warning

localhost SSL 인증서를 신뢰할 수 없고, 메시지를 표시하지 않는 확인란을 선택한 경우 런타임에 앱 또는 서비스에서 HTTPS 웹 요청이 실패할 수 있습니다. 이 경우 메시지 표시 안 함 확인란을 선택 취소하고, 프로젝트를 실행한 후 프롬프트에서 신뢰를 표시합니다.

Azure 인증 구성

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

Visual Studio 2022 버전 17.6부터 단일 컨테이너 및 Docker Compose 프로젝트 모두에서 토큰 프록시 서비스가 배포되고 Azure에서 앱 및 서비스를 인증하는 데 도움이 되는 컨테이너에서 실행됩니다. 이 기능을 사용하려면 Azure Identity 1.9.0 이상이 필요합니다. 이 서비스를 사용하도록 설정하면 컨테이너 내에서 추가 구성이나 설정 없이 대부분의 Azure 서비스를 자동으로 사용할 수 있습니다. 특히 코드는 컨테이너 외부와 VisualStudioCredential 동일한 방식으로 Azure 서비스를 사용하고 DefaultAzureCredential 인증할 수 있습니다. Azure Identity 1.9.0 추가 정보 참조

이 기능을 사용하지 않도록 설정하려면 컨테이너>에서 서비스 실행 도구 옵션을 설정하여 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.

개요에서 Visual Studio의 컨테이너 작업에 대해 자세히 알아봅니다.