Compartilhar via


Configurar ferramentas de contêiner do Visual Studio

Você pode controlar alguns aspectos 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 e o uso de recursos do Visual Studio quando você trabalha com contêineres do Docker.

Pré-requisitos

Pré-requisitos

  • Área de Trabalho do Docker.
  • Visual Studio com o ASP.NET e desenvolvimento na Web, carga de trabalho de desenvolvimento do Azure e/ou carga de trabalho de desenvolvimento da área de trabalho do .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 de Ferramentas de Contêiner do Visual Studio.

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

Configurações Valor padrão Descrição
Instalar o Docker Desktop, se necessário Solicite-me Escolha se deseja ser avisado caso o Docker Desktop não esteja instalado.
Iniciar a Área de Trabalho do Docker, se necessário Solicite-me Caso o Docker Desktop não esteja iniciado, escolha se deseja iniciá-lo automaticamente ou se deseja pedir sua confirmação.
Confiar no certificado SSL do ASP.NET Core Solicite-me Escolha se deseja ser avisado caso o localhost certificado SSL não seja confiável em um projeto do ASP.NET Core.

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

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

Configurações Valor padrão Descrição
Solicitar a instalação do runtime do contêiner quando um não estiver instalado Enabled Escolha se você deseja receber um aviso caso o Docker Desktop ou o Podman não estejam instalados.
Prompt para confiar no certificado SSL do ASP.NET Core Escolha se deseja ser avisado caso o localhost certificado SSL não seja confiável em um projeto do ASP.NET Core.
Iniciar o runtime do contêiner, se necessário Solicite-me Se o Docker Desktop ou o Podman não estiverem iniciados, escolha se deseja iniciá-los automaticamente ou receber uma solicitação para isso.
Tempo de execução do contêiner Auto Escolha o runtime do contêiner; Há suporte para Docker e Podman. EscolhaAuto se deseja que o Visual Studio detecte qual runtime você está usando.

Importante

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

Configurações de Projeto Único ou Docker Compose

As configurações de Projeto Único das Ferramentas de Contêiner e de 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 Docker Compose :

Configurações Valor padrão Descrição
Realizar o pull das 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 contêiner. As imagens necessárias são baixadas ou estão sendo baixadas quando você está pronto para executar seu código. Se você quiser apenas navegar pelo código, poderá definir como False para evitar o download de imagens de contêiner de que não precisa.
Puxar imagens atualizadas do Docker ao abrir o projeto Projetos do .NET Core Se, ou em quais projetos, executar um pull do Docker para todas as imagens nos projetos abertos para obter as atualizações mais recentes.
Executar contêineres ao abrir o projeto Verdade Se é necessário criar um contêiner ao carregar um projeto de contêiner, para que ele fique pronto quando você compilar e executar. Se preferir controlar quando o contêiner for criado, defina como False.
Remover contêineres ao fechar o projeto Verdade Decidir se deseja remover contêineres da sua solução após o fechamento da solução ou do 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, decidir se deve 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 recarregamento frequente Verdade Para o Visual Studio versão 17.7 e posterior, se deve instalar e executar o serviço de recarregamento frequente. Esse serviço só dá suporte à 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 padrão Descrição
Baixar as imagens necessárias ao abrir o projeto Enabled Se deve iniciar uma operação de pull do Docker em segundo plano ao carregar um projeto de contêiner. As imagens necessárias são baixadas ou estão sendo baixadas quando você está pronto para executar seu código. Se você quiser apenas navegar pelo código, poderá definir como False para evitar o download de imagens de contêiner de que não precisa.
Executar contêineres ao abrir o projeto Verdade Se é necessário criar um contêiner ao carregar um projeto de contêiner, para que ele fique pronto quando você compilar e executar. Se preferir controlar quando o contêiner for criado, defina como False.
Remover contêineres ao fechar o projeto Verdade Decidir se deseja remover contêineres da sua solução após o fechamento da solução ou do Visual Studio.

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

Configurações Valor padrão Descrição
Executar um serviço em contêineres para habilitar a Autenticação do Azure Enabled Se você deve instalar e executar um serviço 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 recarregamento frequente Enabled Se deseja instalar e executar o serviço de Recarga Frequente. Esse serviço só dá suporte à execução sem depuração, Ctrl+F5.

Configurações de janela de 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, confira 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 de Contêineres.

A tabela a seguir descreve as configurações da Janela contêineres :

Configurações Valor padrão Descrição
Confirmar antes de podar contêineres Sempre Se deve ser exibido um aviso ao remover contêineres não utilizados.
Confirmar antes de podar imagens Sempre Solicitar confirmação ao remover imagens não utilizadas.
Confirmar antes de remover um contêiner Sempre Se deseja ser avisado ao remover um contêiner.
Confirmar antes de remover uma imagem Sempre Se deseja ser notificado ao remover uma imagem.
Confirmar antes de executar um grande número de imagens Sempre Perguntar se deseja iniciar contêineres de mais de 10 imagens ao mesmo tempo.
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 a ser usado 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 do Docker Compose do qual eles fazem parte.

Configurar a autenticação do Azure

Se o aplicativo usa os serviços do Azure, ele precisa de credenciais apropriadas para autenticar com os serviços do Azure quando ele é 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êineres requer as credenciais usadas 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 autenticar no Azure. O recurso requer a Identidade do Azure 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 nenhuma configuração ou configuração adicional. 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 README da Identidade do Azure 1.9.0.

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

Cuidado

Usar o proxy de token e habilitar determinados logs de diagnóstico apresenta um potencial risco de segurança. Esses logs podem expor as 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 faz logon %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • Para projetos do Docker Compose, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED que fazem logon em %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.

Configurações de janela de 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, confira Usar a janela Contêineres.

A tabela a seguir descreve as configurações da Janela contêineres :

Configurações Valor padrão Descrição
Confirmar antes de podar contêineres Enabled Se deve ser exibido um aviso ao remover contêineres não utilizados.
Confirmar antes de podar imagens Enabled Solicitar confirmação ao remover imagens não utilizadas.
Confirmar antes de remover um contêiner Enabled Se deseja ser avisado ao remover um contêiner.
Confirmar antes de remover uma imagem Enabled Se deseja ser notificado ao remover uma imagem.
Confirmar antes de executar um grande número de imagens Enabled Perguntar se deseja iniciar contêineres de mais de 10 imagens ao mesmo tempo.
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 a ser usado na janela Contêineres, com suporte para tokens {ContainerName}, {ImageName}, {ProjectName}e {ContainerID}.
Agrupar contêineres pelo projeto Docker Compose Enabled Se os contêineres devem ser agrupados pelo projeto do Docker Compose do qual eles fazem parte.

Configurar a autenticação do Azure

Se o aplicativo usa os serviços do Azure, ele precisa de credenciais apropriadas para autenticar com os serviços do Azure quando ele é 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êineres requer as credenciais usadas 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 autenticar no Azure. O recurso requer a Identidade do Azure 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 nenhuma configuração ou configuração adicional. 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 README da Identidade do Azure 1.9.0.

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

Cuidado

Usar o proxy de token e habilitar determinados logs de diagnóstico apresenta um potencial risco de segurança. Esses logs podem expor as 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 faz logon %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • Para projetos do Docker Compose, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED que fazem logon em %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.