컨테이너 도구 시작 설정
ASP.NET Core 프로젝트의 Properties 폴더에서 개발 컴퓨터에서 웹앱이 시작되는 방식을 제어하는 설정이 포함된 파일을 찾을 launchSettings.json
수 있습니다. ASP.NET 개발에서 이 파일을 사용하는 방법에 대한 자세한 내용은 ASP.NET Core에서 여러 환경 사용을 참조하세요.
이 파일을 직접 편집할 수 있지만 Visual Studio IDE에서는 UI를 통해 이 파일의 속성을 편집할 수도 있습니다. 시작 옵션 옆에 있는 드롭다운 목록(예: Docker
또는.NET SDK
)을 선택한 다음 단일 컨테이너 프로젝트에 대한 디버그 속성을 선택합니다.
Docker Compose의 경우 Docker Compose 시작 설정 관리를 선택하고 작성 서비스의 하위 집합 시작을 참조하세요.
launchSettings.json의 Docker 섹션 설정은 Visual Studio에서 컨테이너화된 앱을 처리하는 방법과 관련이 있습니다.
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
"DockerfileRunArguments": "-l mylabel=value",
"environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80",
"ASPNETCORE_HTTPS_PORT": "44360"
},
"httpPort": 51803,
"useSSL": true,
"sslPort": 44360
}
commandName 설정은 이 섹션이 컨테이너 도구에 적용됨을 확인합니다.
Dockerfile을 사용하든, .NET SDK의 기본 제공 컨테이너 빌드 지원을 사용하든(.NET 7 이상에서 사용 가능) 대부분의 설정을 launchSettings.json
사용할 수 있으며 적용할 수 있습니다.
다음 표에서는 이 섹션에서 설정할 수 있는 속성을 보여 줍니다.
설정 이름 | 예제 | 설명 |
---|---|---|
commandLineArgs | "commandLineArgs": "--mysetting myvalue" |
앱을 시작하기 위한 이 명령줄 인수는 컨테이너에서 프로젝트를 시작할 때 사용됩니다. |
DockerfileRunArguments | "dockerfileRunArguments": "-l mylabel=value" |
명령에 전달할 추가 인수입니다 docker run . |
environmentVariables | "environmentVariables": { "ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> "ASPNETCORE_HTTPS_PORT": "44381"'' } |
이러한 환경 변수 값은 컨테이너에서 시작될 때 프로세스에 전달됩니다. |
httpPort | "httpPort": 24051 |
호스트의 이 포트는 컨테이너를 시작할 때 컨테이너의 포트 80에 매핑됩니다. |
launchBrowser | "launchBrowser": true |
프로젝트를 시작한 후에 브라우저를 시작할지 여부를 나타냅니다. |
launchBrowserTimeout | "launchBrowserTimeout": 1 |
브라우저를 시작하기 전에 앱이 준비될 때까지 대기하는 최대 시간(초)입니다. |
launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
이 URL은 브라우저를 시작할 때 사용됩니다. 이 문자열에 지원되는 대체 토큰은 다음과 같습니다. - {Scheme} - SSL이 사용되는지 여부에 따라 대체 http https 됩니다. - {ServiceHost} - 일반적으로 localhost . 하지만 Windows 10 RS3 이상에서 Windows 컨테이너를 대상으로 하는 경우 컨테이너의 IP로 바뀝니다. - {ServicePort} - 일반적으로 SSL 사용 여부에 따라 둘 중 하나 sslPort 또는 httpPort 로 바뀝니다. 하지만 Windows 10 RS3 이상에서 Windows 컨테이너를 대상으로 하는 경우 SSL 사용 여부에 따라 Windows 컨테이너가 대체 443 됩니다 80 . |
sslPort | "sslPort": 44381 |
호스트의 이 포트는 컨테이너를 시작할 때 컨테이너의 포트 443에 매핑됩니다. |
useSSL | "useSSL": true |
프로젝트를 시작할 때 SSL을 사용할지 여부를 나타냅니다. 지정되지 않은 경우 useSSL SSL은 다음과 같은 경우에 sslPort > 0 사용됩니다. |
참고 항목
예를 들어 DockerfileRunArguments
프로젝트 파일과 시작 설정 파일 모두에서 동일한 설정이 발견되면 시작 설정 파일의 값이 우선합니다.
디버그 프로필 UI의 속성 | launchSettings.json 이름 설정 | 예제 | 설명 |
---|---|---|---|
Command line arguments | commandLineArgs | "commandLineArgs": "--mysetting myvalue" |
앱을 시작하기 위한 이 명령줄 인수는 컨테이너에서 프로젝트를 시작할 때 사용됩니다. |
컨테이너 실행 인수 | containerRunArguments ContainerRunArguments |
"containerRunArguments": "-l mylabel=value" |
명령에 전달할 추가 인수입니다 docker run . (Visual Studio 17.12 이상에서는 소문자 버전을 사용합니다. 대문자 버전은 Visual Studio 17.9에서 도입되었으며 이전 버전과의 호환성을 위해 제공됩니다.) 다음과 같은 대체 토큰을 사용할 수 있습니다. - {ProjectDir} - 프로젝트 디렉터리의 전체 경로입니다. - {OutDir} - MSBuild 속성 OutDir의 값입니다. |
해당 없음 | DockerfileRunArguments | dockerfileRunArguments": "-l mylabel=value" |
유사 containerRunArguments 하지만 Dockerfile 빌드 형식을 사용하는 프로젝트에만 해당합니다. Visual Studio 17.12 이상에서는 대신 사용하는 containerRunArguments 것이 좋습니다. |
환경 변수 | environmentVariables | "environmentVariables": {"ASPNETCORE_URLS": "https://+:443;http://+:80" , "ASPNETCORE_HTTPS_PORT": "44381" } |
이러한 환경 변수 값은 컨테이너에서 시작될 때 프로세스에 전달됩니다. |
컨테이너 이름 | containerName | mycontainer |
(17.12 이상) 정규식 [a-zA-Z0-9][a-zA-Z0-9_.-] 과 일치하는 컨테이너의 이름입니다. |
컨테이너 환경 파일 | containerRunEnvironmentFiles | "containerRunEnvironmentFiles": "abc.env;xyz.env" |
(17.12 이상) 세미콜론으로 구분된 환경 변수 파일(.env 파일) 목록입니다. .env 파일 구문을 참조 하세요. |
Http 포트 | httpPort | "httpPort": 24051 |
호스트의 이 포트는 컨테이너를 시작할 때 컨테이너의 포트 80에 매핑됩니다. |
브라우저 시작 | launchBrowser | "launchBrowser": true |
프로젝트를 시작한 후에 브라우저를 시작할지 여부를 나타냅니다. |
해당 없음 | launchBrowserTimeout | "launchBrowserTimeout": 1 |
브라우저를 시작하기 전에 앱이 준비될 때까지 기다리는 최대 시간(초)입니다(Docker Compose만 해당). |
Url | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
이 URL은 브라우저를 시작할 때 사용됩니다. 이 문자열에 지원되는 대체 토큰은 다음과 같습니다. - {Scheme} - SSL 사용 여부에 따라 둘 중 하나 http 또는 https 로 바뀝니다. - {ServiceHost} - 일반적으로 localhost . 하지만 Windows 10 RS3 이상에서 Windows 컨테이너를 대상으로 하는 경우 컨테이너의 IP로 바뀝니다. - {ServicePort} - 일반적으로 SSL 사용 여부에 따라 sslPort 또는 httpPort로 바뀝니다. 하지만 Windows 10 RS3 이상에서 Windows 컨테이너를 대상으로 하는 경우 SSL 사용 여부에 따라 Windows 컨테이너가 대체 443 됩니다 80 . |
모든 포트 게시 | publishAllPorts | "publishAllPorts": true |
true이면 노출된 모든 포트를 docker run 임의 포트에 게시하는 에 전달 -P 합니다. Docker 설명서를 참조하세요. 그러나, sslPort 를 지정하면 Visual Studio가 계속 -p 5002:443 를 전달하므로, 서비스는 포트 5002에서 계속 수신 대기해야 합니다. |
Ssl 포트 | sslPort | "sslPort": 44381 |
호스트의 이 포트는 컨테이너를 시작할 때 컨테이너의 포트 443에 매핑됩니다. |
해당 없음 | useSSL | "useSSL": true |
프로젝트를 시작할 때 SSL을 사용할지 여부를 나타냅니다. 지정되지 않은 경우 useSSL SSL은 다음과 같은 경우에 sslPort > 0 사용됩니다. |
예를 들어 useSSL
UI에서 모든 설정을 사용할 수 있는 것은 아닙니다. 이러한 설정을 변경하려면 직접 편집 launchSettings.json
합니다.
이 설정 DockerfileRunArguments
은 Visual Studio 2022 17.12 이상 containerRunArguments
에서 대체되며, 시작 프로필 UI에서 다음과 같이 Container run arguments
설정할 수 있습니다.
참고 항목
프로젝트 파일과 시작 설정 파일 모두에서 동일한 설정이 발견되면 시작 설정 파일의 값이 우선합니다.
다음 단계
컨테이너 도구 빌드 속성을 설정하여 프로젝트를 구성합니다.