Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Se você tiver um aplicativo que consiste em vários serviços e usa o Docker Compose, poderá configurar quais serviços serão executados e depurados, criando ou editando um perfil de inicialização existente nas configurações de inicialização do Docker Compose. Os perfis de inicialização permitem que você execute dinamicamente apenas os serviços que são importantes para o seu cenário atual. Você pode criar e selecionar de perfis de inicialização para personalizar a sua experiência de depuração e definir ações de inicialização específicas, como Browser Launch URL. Você também tem a opção de escolher cada serviço individualmente ou escolhendo um perfil Docker Compose, que também examina seu arquivo Compose para determinar o grupo de serviços a ser executado.
Para obter informações sobre perfis do Docker Compose, consulte Usando perfis com o Compose.
Pré-requisitos
- Estúdio Visual
- Uma solução .NET com orquestração de contêineres com Docker Compose
Gerenciar configurações de inicialização
Considere o seguinte projeto Docker Compose no qual o docker-compose.yml tem cinco serviços e três perfis Compose (web, web1 e web2).
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
Há algumas opções para abrir a caixa de diálogo Configurações de inicialização do Docker Compose:
No Visual Studio, escolha Depurar>Gerir definições de lançamento do Docker Compose:
Clique com o botão direito do rato no projeto do Visual Studio
docker-composee selecione Gerir Configurações de Lançamento do Docker Compose
Use o Início Rápido (Ctrl+Q) e procure Docker Compose para encontrar o mesmo comando.
No exemplo abaixo, o perfil web1 Compose é selecionado, o que filtra a lista de Serviços para mostrar apenas três dos cinco disponíveis nesse perfil.
Observação
A seção Perfis de composição do Docker só será exibida se houver perfis definidos em seus arquivos docker-compose.yml.
O próximo exemplo demonstra a seleção entre serviços individuais em vez de filtrar os serviços de um perfil Compose. Aqui, mostramos como seria a caixa de diálogo se você criasse um novo perfil de inicialização chamado test2 que inicia apenas dois dos cinco serviços, webapplication1 com depuração e webapplication2 sem depuração. Este perfil de inicialização também inicia um navegador quando o aplicativo é iniciado e o abre na página inicial do webapplication1.
E essas informações são salvas em launchSettings.json como mostrado abaixo
{
"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}"
}
}
}
Criar um perfil de inicialização que usa um perfil de composição do Docker
Você também pode personalizar ainda mais o comportamento de inicialização criando perfis de lançamento do Visual Studio que fazem uso dos perfis Compose.
Para criar outro perfil que faça uso do perfil Compose, selecione Usar perfis Compose do Docker e escolha web1. Agora, o perfil de lançamento inclui três serviços: webapplication1 (que pertence aos perfis web e web1 Compose), external1e external2. Por padrão, os serviços sem código-fonte, como external1 e external2, têm a ação padrão de Iniciar sem depurar. Aplicativos .NET com código-fonte padrão para Iniciar a depuração.
Importante
Se um serviço não especificar um perfil Compor, ele será incluído em todos os perfis Compor implicitamente.
Essas informações são salvas conforme mostrado no código a seguir. A configuração do serviço e sua ação padrão não são salvas, a menos que você altere a ação padrão.
{
"profiles": {
"test1": {
"commandName": "DockerCompose",
"composeProfile": {
"includes": [
"web1"
]
},
"commandVersion": "1.0"
}
}
}
Pode também alterar a ação de "WebApplication1" para Iniciar sem depuração. As configurações no launchSettings.json então se parecem com o seguinte código:
{
"profiles": {
"test1": {
"commandName": "DockerCompose",
"composeProfile": {
"includes": [
"web1"
],
"serviceActions": {
"webapplication1": "StartWithoutDebugging"
}
},
"commandVersion": "1.0"
}
}
}
Propriedades
Aqui está uma descrição de cada propriedade no launchSettings.json:
| Propriedade | Descrição |
|---|---|
| commandName | Nome do comando. O padrão é "DockerCompose" |
| versão de comando | Número de versão usado para gerenciar o esquema do perfil de inicialização do DockerCompose. |
| composeProfile | Propriedade pai que define a definição de perfil de inicialização. Suas propriedades filhas são includes e serviceActions |
| criarPerfil - inclui | Lista dos nomes de perfis de Compose que constituem um perfil de inicialização. |
| comporPerfil - açõesDeServiço | Lista os perfis de composição selecionados, os serviços e a ação de lançamento de cada serviço |
| serviceActions | Lista os serviços selecionados e a ação de inicialização. |
| comporAçãoDeLançamento | Especifica a ação de inicialização a ser executada em F5 ou Ctrl+F5. Os valores permitidos são None, LaunchBrowser e LaunchWCFTestClient. |
| composeLaunchUrl | O URL a ser usado ao iniciar o navegador. Os tokens de substituição válidos são "{ServiceIPAddress}", "{ServicePort}" e "{Scheme}". Por exemplo: {Scheme}://{ServiceIPAddress}:{ServicePort} |
| nomeDoServiçoDeLançamentoCompose | Especifica o serviço usado para substituir os tokens em composeLaunchUrl. |