컨테이너 도구 시작 설정

ASP.NET Core 프로젝트의 Properties 폴더에서 개발 컴퓨터에서 웹앱이 시작되는 방식을 제어하는 설정이 포함된 파일을 찾을 launchSettings.json 수 있습니다. ASP.NET 개발에서 이 파일을 사용하는 방법에 대한 자세한 내용은 ASP.NET Core에서 여러 환경 사용을 참조하세요.

이 파일을 직접 편집할 수 있지만 Visual Studio IDE에서는 UI를 통해 이 파일의 속성을 편집할 수도 있습니다. 시작 옵션 옆에 있는 드롭다운 목록(예: Docker 또는.NET SDK)을 선택한 다음 디버그 속성을 선택합니다.

launchSettings.jsonDocker 섹션 설정은 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이 사용되는지 여부에 따라 대체 httphttps 됩니다.

- {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프로젝트 파일과 시작 설정 파일 모두에서 동일한 설정이 발견되면 시작 설정 파일의 값이 우선합니다.

설정 이름 예제 설명
commandLineArgs "commandLineArgs": "--mysetting myvalue" 앱을 시작하기 위한 이 명령줄 인수는 컨테이너에서 프로젝트를 시작할 때 사용됩니다.
containerRunArguments "containerRunArguments": "-l mylabel=value" 와 비슷하 dockerfileRunArguments지만 .NET SDK 컨테이너 빌드 형식과 함께 사용할 수 있습니다.
DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" 명령에 전달할 추가 인수입니다 docker run .
/
이 설정은 Dockerfile 컨테이너 빌드 유형을 사용하는 프로젝트에만 적용됩니다.

Visual Studio 17.3 이상에서는 추가된 다음 대체 토큰을 사용할 수 있습니다.

- {ProjectDir} - 프로젝트 디렉터리의 전체 경로입니다.

- {OutDir} - MSBuild 속성 OutDir의 값입니다.
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80",
"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.
publishAllPorts "publishAllPorts": true true이면 노출된 모든 포트를 docker run임의 포트에 게시하는 에 전달 -P 합니다. Docker 설명서를 참조하세요. 그러나, sslPort를 지정하면 Visual Studio가 계속 -p 5002:443를 전달하므로, 서비스는 포트 5002에서 계속 수신 대기해야 합니다.
sslPort "sslPort": 44381 호스트의 이 포트는 컨테이너를 시작할 때 컨테이너의 포트 443에 매핑됩니다.
useSSL "useSSL": true 프로젝트를 시작할 때 SSL을 사용할지 여부를 나타냅니다. 지정되지 않은 경우 useSSL SSL은 다음과 같은 경우에 sslPort > 0사용됩니다.

참고 항목

예를 들어 DockerfileRunArguments프로젝트 파일과 시작 설정 파일 모두에서 동일한 설정이 발견되면 시작 설정 파일의 값이 우선합니다.

다음 단계

컨테이너 도구 빌드 속성을 설정하여 프로젝트를 구성합니다.

참고 항목