컨테이너 볼륨 매핑 사용자 지정
컨테이너에서 디버깅이 작동하려면 Visual Studio에서 볼륨 매핑을 사용하여 호스트 컴퓨터에서 디버거 및 NuGet 폴더를 매핑합니다. 볼륨 매핑은 여기Docker 설명서에 설명되어 있습니다. Visual Studio 컨테이너 창을 사용하여 컨테이너에 대한 볼륨 매핑을 볼 수 있습니다.
필수 구성 요소
- Docker Desktop
- Web Development, Azure Tools 워크로드 및/또는 .NET 데스크톱 개발 워크로드가 설치된 Visual Studio 2019 이상 .
Visual Studio 컨테이너 이미지의 볼륨 마운트
컨테이너에 탑재된 볼륨은 다음과 같습니다.
음량 | 설명 |
---|---|
앱 폴더 | Dockerfile이 있는 프로젝트 폴더를 포함합니다. |
NuGet 패키지 폴더 | 프로젝트의 obj{project}.csproj.nuget.g.props 파일에서 읽은 NuGet 패키지 및 대체 폴더를 포함합니다. |
원격 디버거 | 프로젝트 유형에 따라 컨테이너에서 디버거를 실행하는 데 필요한 비트를 포함합니다. 디버깅을 위해 컨테이너 이미지 사용자 지정을 참조하세요. |
원본 폴더 | Docker 명령에 전달되는 빌드 컨텍스트를 포함합니다. |
컨테이너에 탑재된 볼륨은 다음과 같습니다. 컨테이너에 표시되는 내용은 사용 중인 Visual Studio 2022의 부 버전에 따라 다를 수 있습니다.
음량 | 묘사 |
---|---|
앱 폴더 | Dockerfile이 있는 프로젝트 폴더를 포함합니다. |
NuGet 패키지 폴더들 | 프로젝트의 obj{project}.csproj.nuget.g.props 파일에서 읽은 NuGet 패키지 및 대체 폴더를 포함합니다. |
원격 디버거 | 프로젝트 유형에 따라 컨테이너에서 디버거를 실행하는 데 필요한 비트를 포함합니다. 자세한 내용은 디버깅을 위해 컨테이너 이미지 사용자 지정을 참조하세요. |
원본 폴더 | Docker 명령에 전달되는 빌드 컨텍스트를 포함합니다. |
VSTools | 디버거 지원, 컨테이너 창, Azure 토큰 처리, 핫 다시 로드 에이전트 및 배포판 없는 도우미를 포함하여 컨테이너 작업을 지원하는 Visual Studio 도구가 포함되어 있습니다. |
.NET 8의 경우 루트 및 사용자 비밀 및 HTTPS 인증서를 포함하는 앱 사용자에 대한 추가 탑재 지점도 있을 수 있습니다.
메모
Visual Studio 17.10 Docker Desktop이 없는 Windows 하위 시스템(WSL)에서 Docker 엔진을 사용하는 경우, 환경 변수 VSCT_WslDaemon=1
를 설정하여 볼륨 마운트를 생성할 때 Visual Studio가 WSL 경로를 사용하도록 하십시오. NuGet 패키지 Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1도 필요합니다.
ASP.NET Core 웹 앱의 경우 SSL 인증서 및 사용자 비밀에 대한 두 개의 추가 폴더가 있을 수 있습니다. 컨테이너화된 ASP.NET Core 앱에 SSL을 사용하는 방법에 대한 자세한 설명은 및에서 확인할 수 있습니다.
컨테이너 볼륨 탑재
docker run
명령줄 인수를 사용하여 다른 볼륨을 탑재할 수 있습니다.
컨테이너화된 프로젝트에 대한 프로젝트 파일을 엽니다.
새 명령줄 인수를 지정하려면 MSBuild 속성
DockerfileRunArguments
추가하고-v
또는--mount
구문을 제공합니다. 예를 들어 다음 구문은 볼륨myvolume
만들고/scratch
폴더의 컨테이너에 탑재합니다.<PropertyGroup> <DockerfileRunArguments>-v myvolume:/scratch</DockerfileRunArguments> </PropertyGroup>
-v 또는 --mount 옵션에 대한 명령줄 구문에 대한 Docker 설명서를 참조하세요.