Compose 서비스의 하위 집합 시작
여러 서비스로 구성되고 Docker Compose를 사용하는 애플리케이션이 있는 경우 Docker Compose 시작 설정에서 기존 시작 프로필을 만들거나 편집하여 실행 및 디버그할 서비스를 구성할 수 있습니다. 시작 프로필을 사용하면 현재 시나리오에 중요한 서비스만 동적으로 실행할 수 있습니다. 디버깅 환경을 사용자 지정하고 Browser Launch URL
같은 특정 시작 작업을 설정하기 위해 시작 프로필에서 만들고 선택할 수 있습니다. 또한 각 서비스를 개별적으로 선택하거나 Docker Compose 프로필을 선택하여 Compose 파일을 확인하여 실행할 서비스 그룹을 결정할 수도 있습니다.
Docker Compose 프로필에 대한 정보는 프로필과 함께 Compose를 사용하기를 참조하세요.
필수 구성 요소
- Visual Studio 2019 , 버전 16.10 이상
- Docker Compose를 사용하는 컨테이너 오케스트레이션의 .NET 솔루션
- Visual Studio 2022 또는 Visual Studio 2019 버전 16.10 이상
- Docker Compose
컨테이너 오케스트레이션을 사용하는 .NET 솔루션
시작 설정 관리
docker-compose.yml 5개의 서비스와 3개의 Compose 프로필(웹, web1 및 web2)이 있는 다음 Docker Compose 프로젝트를 고려합니다.
version: '3.9'
services:
webapplication1:
image: ${DOCKER_REGISTRY-}webapplication1
profiles: [web, web1]
build:
context: .
dockerfile: WebApplication1/Dockerfile
webapplication2:
image: ${DOCKER_REGISTRY-}webapplication2
profiles: [web, web2]
build:
context: .
dockerfile: WebApplication2/Dockerfile
webapplication3:
image: ${DOCKER_REGISTRY-}webapplication3
profiles: [web]
build:
context: .
dockerfile: WebApplication3/Dockerfile
external1:
image: redis
external2:
image: redis
Docker Compose 시작 설정 대화 상자를 여는 몇 가지 옵션이 있습니다.
Visual Studio에서 디버그>도커 컴포즈 시작 설정 관리를 선택합니다.
Visual Studio
docker-compose
프로젝트에서 오른쪽 클릭하여 Docker Compose 시작 설정 관리를 선택합니다.스크린샷
스크린샷
빠른 실행(Ctrl+Q)을 사용하고 Docker Compose 검색하여 동일한 명령을 찾습니다.
아래 예제에서는 web1
작문 프로필이 선택되어, 이 프로필에 포함된 5개의 서비스 중 3개만 서비스 목록에 필터링됩니다.
메모
Docker Compose 프로필 섹션은 docker-compose.yml 파일에 정의된 프로필이 있는 경우에만 표시됩니다.
다음 예제에서는 Compose 프로필의 서비스로 필터링하는 대신 개별 서비스 중에서 선택하는 방법을 보여 줍니다. 새로 test2
이라는 시작 프로필을 만들어 5개 서비스 중 webapplication1
을 디버깅 모드로, webapplication2
를 디버깅 모드 없이 시작하는 경우, 대화 상자가 어떻게 표시되는지 보여드립니다. 이 실행 프로필은 애플리케이션이 시작될 때 브라우저를 시작하고 webapplication1
홈페이지를 엽니다.
그리고 이 정보는 아래와 같이 launchSettings.json 저장됩니다.
{
"profiles": {
"test2": {
"commandName": "DockerCompose",
"composeLaunchServiceName": "webapplication1",
"serviceActions": {
"external1": "DoNotStart",
"external2": "DoNotStart",
"webapplication1": "StartDebugging",
"webapplication2": "StartWithoutDebugging",
"webapplication3": "DoNotStart"
},
"composeLaunchAction": "LaunchBrowser",
"commandVersion": "1.0",
"composeLaunchUrl": "{Scheme}://localhost:{ServicePort}"
}
}
}
Docker Compose 프로필을 사용하는 시작 프로필 만들기
Compose 프로필을 사용하는 Visual Studio 시작 프로필을 만들어 시작 동작을 추가로 사용자 지정할 수도 있습니다.
Compose 프로필을 사용하는 또 다른 프로필을 생성하려면 Docker Compose 프로필 사용을 선택하고web1
을 선택합니다. 이제 시작 프로필에는 webapplication1
(web
및 web1
작성 프로필 모두에 속함), external1
및 external2
세 가지 서비스가 포함됩니다. 기본적으로
중요하다
서비스에서 Compose 프로필을 지정하지 않으면 모든 Compose 프로필에 암시적으로 포함됩니다.
이 정보는 다음 코드와 같이 저장됩니다. 기본 작업을 변경하지 않는 한 서비스 및 기본 작업에 대한 구성은 저장되지 않습니다.
{
"profiles": {
"test1": {
"commandName": "DockerCompose",
"composeProfile": {
"includes": [
"web1"
]
},
"commandVersion": "1.0"
}
}
}
디버깅하지 않고 webapplication1의 작업을
{
"profiles": {
"test1": {
"commandName": "DockerCompose",
"composeProfile": {
"includes": [
"web1"
],
"serviceActions": {
"webapplication1": "StartWithoutDebugging"
}
},
"commandVersion": "1.0"
}
}
}
속성
launchSettings.json각 속성에 대한 설명은 다음과 같습니다.
재산 | 묘사 |
---|---|
명령이름 | 명령의 이름입니다. 기본값은 "DockerCompose"입니다. |
명령버전 | DockerCompose 시작 프로필의 스키마를 관리하는 데 사용되는 버전 번호입니다. |
프로필 작성 | 시작 프로필 정의를 정의하는 부모 속성입니다. 자식 속성은 includes 및 serviceActions |
composeProfile - 포함됨 | 실행 프로필을 이루는 Compose 프로필 이름 목록입니다. |
프로필 작성 - 서비스 작업 | 선택한 Compose 프로필, 서비스 및 각 서비스의 시작 작업을 나열합니다. |
serviceActions | 선택한 서비스 및 시작 작업을 나열합니다. |
시작 행동 구성 | F5 또는 Ctrl+F5에 대한 실행 작업을 지정합니다. 허용되는 값은 None, LaunchBrowser 및 LaunchWCFTestClient입니다. |
composeLaunchUrl | 브라우저를 시작할 때 사용할 URL입니다. 유효한 대체 토큰은 "{ServiceIPAddress}", "{ServicePort}" 및 "{Scheme}"입니다. 예: {Scheme}://{ServiceIPAddress}:{ServicePort} |
컨포즈런치서비스이름 | composeLaunchUrl에서 토큰을 바꾸는 데 사용되는 서비스를 지정합니다. |
관련 콘텐츠
- Visual Studio Container Tools 빌드 및 디버그 개요
- Visual Studio Container Tools 시작 설정
- Docker Compose 빌드 설정