Partilhar via


Configurar ferramentas de contêiner do Visual Studio

Você pode controlar alguns aspetos de como o Visual Studio funciona com contêineres do Docker usando as configurações das Ferramentas de Contêiner . Este artigo descreve como definir as configurações das Ferramentas de Contêiner que podem afetar o desempenho do Visual Studio e o uso de recursos quando você trabalha com contêineres do Docker.

Pré-requisitos

Pré-requisitos

  • Área de trabalho do Docker.
  • Visual Studio com a carga de trabalho de desenvolvimento ASP.NET e Web, carga de trabalho de desenvolvimento do Azure e/ou carga de trabalho de desenvolvimento de área de trabalho .NET instalada.

Configurações das Ferramentas de Contêiner

Para acessar as configurações, selecione Opções de Ferramentas > no menu principal do Visual Studio. No painel esquerdo, role para baixo e expanda Ferramentas de Contêiner.

Configurações gerais

Captura de tela das opções do Visual Studio Container Tools.

A tabela a seguir descreve as configurações gerais :

Configurações Valor predefinido Descrição
Instale o Docker Desktop se necessário Avisar-me Escolha se deseja ser avisado se o Docker Desktop não estiver instalado.
Inicie o Docker Desktop, se necessário Avisar-me Se o Docker Desktop não estiver iniciado, escolha se deseja iniciá-lo automaticamente ou ser solicitado a iniciá-lo.
Confie no certificado SSL do ASP.NET Core Avisar-me Escolha se deseja avisar se o localhost certificado SSL não é confiável em um projeto ASP.NET Core.

Captura de tela das opções do Visual Studio Container Tools.

A tabela a seguir descreve as configurações gerais :

Configurações Valor predefinido Descrição
Solicitar a instalação do tempo de execução do contêiner quando um não estiver instalado Ativado(a) Escolha se deseja ser avisado se o Docker Desktop ou o Podman não estiver instalado.
Solicitar a confiança no certificado SSL do ASP.NET Core Escolha se deseja avisar se o localhost certificado SSL não é confiável em um projeto ASP.NET Core.
Inicie o runtime de contêiner, se necessário Avisar-me Se o Docker Desktop ou o Podman não estiverem iniciados, escolha se quer iniciá-los automaticamente ou se prefere ser questionado sobre o que fazer.
Tempo de execução do contêiner Auto Escolha o tempo de execução do contêiner; Docker e Podman são suportados. EscolhaAuto se você deseja que o Visual Studio detete qual tempo de execução você está usando.

Importante

Se definir Confiar no certificado SSL do ASP.NET Core como Nunca e o localhost certificado SSL não for confiável, as solicitações HTTPS da Web poderão falhar durante a execução. Nesse caso, defina Trust ASP.NET Core SSL certificate como Promptme, execute seu projeto e indique confiança no prompt.

Configurações de projeto único ou configurações do Docker Compose

As configurações de Container Tools Single Project e Docker Compose são idênticas.

Captura de tela das opções de Ferramentas de Contêiner do Visual Studio 2022.

A tabela a seguir descreve as configurações de Projeto Único e Composição do Docker :

Configurações Valor predefinido Descrição
Obtenha as imagens necessárias do Docker ao abrir o projeto Verdade Se deve iniciar uma operação de pull do Docker em segundo plano ao carregar um projeto de container. As imagens necessárias são descarregadas ou estão a ser descarregadas quando estiver pronto para executar o código. Se você quiser apenas navegar pelo código, você pode definir como Falso para evitar o download de imagens de contêiner que você não precisa.
Extrair imagens atualizadas do Docker no projeto aberto Projetos .NET Core Decidir se ou em quais projetos executar um Docker pull para todas as imagens do projeto aberto, a fim de obter as atualizações mais recentes.
Executar contêineres no projeto aberto Verdade Se deseja criar um contentor ao carregar um projeto de contentor, para que esteja pronto ao compilar e executar. Se preferir controlar quando o contêiner é criado, defina como False.
Remover contentores quando o projeto for concluído Verdade Se deseja remover contêineres para sua solução depois de fechar a solução ou fechar o Visual Studio.
Executar um serviço em contêineres para habilitar a Autenticação do Azure Verdade Para o Visual Studio versão 17.6 ou posterior, deverá considerar instalar e executar um serviço de proxy de token no contentor para habilitar a Autenticação do Azure. Esse serviço permite que seus aplicativos usem os serviços do Azure durante o desenvolvimento. Para obter mais informações, consulte a seção Configurar autenticação do Azure .
Executar um serviço em contêineres para habilitar o Hot Reload Verdade Para Visual Studio versão 17.7 e posterior, se deve instalar e executar o serviço Hot Reload. Este serviço suporta apenas a execução sem depuração, Ctrl+F5.

As configurações a seguir na seção Aquecimento de contêiner controlam como o Visual Studio otimiza o desempenho iniciando serviços e preparando imagens antes do uso previsto.

Configurações Valor predefinido Descrição
Obtenha as imagens necessárias ao abrir o projeto Ativado(a) Se deve iniciar uma operação de pull do Docker em segundo plano ao carregar um projeto de container. As imagens necessárias são descarregadas ou estão a ser descarregadas quando estiver pronto para executar o código. Se você quiser apenas navegar pelo código, você pode definir como Falso para evitar o download de imagens de contêiner que você não precisa.
Executar contêineres no projeto aberto Verdade Se deseja criar um contentor ao carregar um projeto de contentor, para que esteja pronto ao compilar e executar. Se preferir controlar quando o contêiner é criado, defina como False.
Remover contentores quando o projeto for concluído Verdade Se deseja remover contêineres para sua solução depois de fechar a solução ou fechar o Visual Studio.

As seguintes configurações aparecem na seção Depuração :

Configurações Valor predefinido Descrição
Executar um serviço em contêineres para habilitar a Autenticação do Azure Ativado(a) Se deseja instalar e executar um serviço de proxy de token no contêiner para habilitar a Autenticação do Azure. Esse serviço permite que seus aplicativos usem os serviços do Azure durante o desenvolvimento. Para obter mais informações, consulte a seção Configurar autenticação do Azure .
Executar um serviço em contêineres para habilitar o Hot Reload Ativado(a) Se deseja instalar e executar o serviço Hot Reload. Este serviço suporta apenas a execução sem depuração, Ctrl+F5.

Configurações da janela Contêineres

As configurações da janela Contêineres se aplicam à janela Contêineres no IDE do Visual Studio, que mostra informações sobre contêineres e imagens do Docker. Para obter mais informações, consulte Usar a janela Contêineres.

Captura de tela das Opções de Ferramentas de Contêiner do Visual Studio, mostrando as configurações disponíveis para a Janela Contêineres.

A tabela a seguir descreve as configurações da janela Contêineres :

Configurações Valor predefinido Descrição
Confirme antes de podar os recipientes Sempre Se você deve ser solicitado ao podar recipientes não utilizados.
Confirme antes de podar imagens Sempre Se você deve ser solicitado ao remover imagens não utilizadas.
Confirme antes de remover um recipiente Sempre Se deve ser perguntado ao remover um contentor.
Confirme antes de remover uma imagem Sempre Se deve solicitar confirmação ao remover uma imagem.
Confirme antes de executar um grande número de imagens Sempre Se você deve avisar antes de iniciar contêineres de mais de 10 imagens de cada vez.
Exibir o formato de cadeia de caracteres a ser usado na janela Contêineres Em branco Um formato de cadeia de caracteres de exibição para usar na janela Contêineres, com suporte para tokens {ContainerName}, {ImageName}, {ProjectName} e {ContainerID}.
Agrupar contêineres pelo projeto Docker Compose Sempre Se os contêineres devem ser agrupados pelo projeto Docker Compose do qual eles fazem parte.

Configurar a autenticação do Azure

Se seu aplicativo usa serviços do Azure, ele precisa de credenciais apropriadas para autenticar com os serviços do Azure quando é executado em um contêiner. Normalmente, você pode usar suas próprias credenciais do Azure durante o desenvolvimento, mas para ser executado no ambiente de contêiner, o aplicativo em contêiner requer as credenciais que usa na produção.

O Visual Studio 2022 versão 17.6 e posterior implanta e executa um serviço de proxy de token em seus projetos de contêiner único e Docker Compose para ajudar seus aplicativos e serviços a se autenticarem no Azure. O recurso requer o Azure Identity 1.9.0 ou posterior.

Com esse serviço habilitado, você pode usar automaticamente a maioria dos serviços do Azure dentro do contêiner sem qualquer configuração ou configuração adicionada. Seu código pode usar DefaultAzureCredential e VisualStudioCredential autenticar com os serviços do Azure da mesma maneira que fora de um contêiner. Para obter mais informações, consulte o Leia-me do Azure Identity 1.9.0.

Para desabilitar esse recurso, defina Executar um serviço em contêineres para habilitar a Autenticação do Azure como Falso nas configurações de Ferramentas de Contêiner, Projeto Único ou Docker Compose.

Atenção

Usar o proxy de token e habilitar determinados logs de diagnóstico representa um potencial risco de segurança. Esses logs podem expor credenciais de autenticação como texto sem formatação. As seguintes variáveis de ambiente habilitam esses logs:

  • Para projetos de contêiner único, MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, que efetua login no %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • Para projetos do Docker Compose, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, que faz login no %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.

Configurações da janela Contêineres

As configurações da janela Contêineres se aplicam à janela Contêineres no IDE do Visual Studio, que mostra informações sobre contêineres e imagens do Docker. Para obter mais informações, consulte Usar a janela Contêineres.

A tabela a seguir descreve as configurações da janela Contêineres :

Configurações Valor predefinido Descrição
Confirme antes de podar os recipientes Ativado(a) Se você deve ser solicitado ao podar recipientes não utilizados.
Confirme antes de podar imagens Ativado(a) Se você deve ser solicitado ao remover imagens não utilizadas.
Confirme antes de remover um recipiente Ativado(a) Se deve ser perguntado ao remover um contentor.
Confirme antes de remover uma imagem Ativado(a) Se deve solicitar confirmação ao remover uma imagem.
Confirme antes de executar um grande número de imagens Ativado(a) Se você deve avisar antes de iniciar contêineres de mais de 10 imagens de cada vez.
Exibir o formato de cadeia de caracteres a ser usado na janela Contêineres Em branco Um formato de cadeia de caracteres de exibição para usar na janela Contêineres, com suporte para tokens {ContainerName}, {ImageName}, {ProjectName} e {ContainerID}.
Agrupar contêineres pelo projeto Docker Compose Ativado(a) Se os contêineres devem ser agrupados pelo projeto Docker Compose do qual eles fazem parte.

Configurar a autenticação do Azure

Se seu aplicativo usa serviços do Azure, ele precisa de credenciais apropriadas para autenticar com os serviços do Azure quando é executado em um contêiner. Normalmente, você pode usar suas próprias credenciais do Azure durante o desenvolvimento, mas para ser executado no ambiente de contêiner, o aplicativo em contêiner requer as credenciais que usa na produção.

O Visual Studio implanta e executa um serviço de proxy de token em seus projetos de contêiner único e Docker Compose para ajudar seus aplicativos e serviços a se autenticarem no Azure. O recurso requer o Azure Identity 1.9.0 ou posterior.

Com esse serviço habilitado, você pode usar automaticamente a maioria dos serviços do Azure dentro do contêiner sem qualquer configuração ou configuração adicionada. Seu código pode usar DefaultAzureCredential e VisualStudioCredential autenticar com os serviços do Azure da mesma maneira que fora de um contêiner. Para obter mais informações, consulte o Leia-me do Azure Identity 1.9.0.

Para desabilitar esse recurso, defina Executar um serviço em contêineres para habilitar a Autenticação do Azure como Falso nas configurações de Ferramentas de Contêiner, Projeto Único ou Docker Compose.

Atenção

Usar o proxy de token e habilitar determinados logs de diagnóstico representa um potencial risco de segurança. Esses logs podem expor credenciais de autenticação como texto sem formatação. As seguintes variáveis de ambiente habilitam esses logs:

  • Para projetos de contêiner único, MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, que efetua login no %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • Para projetos do Docker Compose, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, que faz login no %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.