Configurar as Ferramentas de Contêiner do Visual Studio

Usando as configurações do Visual Studio, você pode controlar alguns aspectos de como o Visual Studio funciona com contêineres do Docker, incluindo configurações que afetam o desempenho e o uso de recursos ao trabalhar com contêineres do Docker.

Configurações das Ferramentas de Contêiner

No menu principal, escolha Ferramentas > Opções e expanda Ferramentas de Contêiner > Configurações. As configurações de ferramentas de contêiner aparecem.

Configurações Gerais das Ferramentas de Contêiner:

Opções das Ferramentas de Contêiner do Visual Studio mostrando: Instalar o Docker Desktop, se necessário, e Confiar no certificado SSL do ASP.NET Core.

Configurações de Projeto Único e Docker Compose das Ferramentas de Contêiner:

Opções das Ferramentas de Contêiner do Visual Studio, mostrando: Encerrar contêineres no fechamento do projeto, Efetuar pull das imagens necessárias do Docker ao abrir projeto e Executar contêineres no projeto aberto.

Opções de Ferramentas de Contêiner do Visual Studio, mostrando: Eliminar contêineres ao fechar o projeto, Efetuar pull das imagens Docker necessárias ao abrir o projeto, Executar contêineres ao abrir o projeto, Executar um serviço em contêineres para habilitar a autenticação do Azure e Executar um serviço em contêineres para habilitar a Recarga Dinâmica.

A tabela a seguir pode ajudá-lo a decidir como definir essas opções.

A seguinte tabela descreve as configurações Gerais:

Nome Configuração padrão Aplica-se A Descrição
Instalar o Desktop Docker, se necessário Avisar-me Projeto Único, Docker Compose Escolha se deseja ser avisado se o Docker Desktop não estiver instalado.
Confiar no certificado SSL do ASP.NET Core Avisar-me Projetos do ASP.NET Core 2 Quando definido como Solicitar-me, se o certificado SSL do localhost não for confiável, o Visual Studio solicitará sempre que você executar um projeto do ASP.NET Core 2.x.

A seguinte tabela descreve as configurações de Projeto Único e Docker Compose:

Nome Configuração padrão Aplica-se A Descrição
Efetuar pull das imagens necessárias do Docker ao abrir projeto True Projeto Único, Docker Compose Para desempenho aprimorado durante o carregamento de projetos, o Visual Studio iniciará uma operação de pull do Docker em segundo plano para que, quando você estiver pronto para executar seu código, a imagem já esteja baixada ou sendo baixada. Se você estiver apenas carregando projetos e navegando pelo código, poderá definir isso como Falso para evitar o download de imagens de contêiner de que você não precisa.
Efetuar pull das imagens atualizadas do Docker ao abrir o projeto Projetos do .NET Core Projeto Único, Docker Compose Ao abrir um projeto, verifique se há atualizações de imagens e baixe se estiverem disponíveis.
Executar contêineres ao abrir projeto True Projeto Único, Docker Compose Novamente, para aprimorar o desempenho, o Visual Studio cria um contêiner antecipadamente para que ele esteja pronto para quando você compilar e executar seu contêiner. Para controlar quando o contêiner é criado, defina como Falso.
Remover contêineres ao fechar o projeto True Projeto Único, Docker Compose Defina como Falso para que os contêineres de sua solução sejam mantidos após fechar a solução ou fechar o Visual Studio.
Nome Configuração padrão Aplica-se A Descrição
Efetuar pull das imagens necessárias do Docker ao abrir projeto True Projeto Único, Docker Compose Para desempenho aprimorado durante o carregamento de projetos, o Visual Studio iniciará uma operação de pull do Docker em segundo plano para que, quando você estiver pronto para executar seu código, a imagem já esteja baixada ou sendo baixada. Se você estiver apenas carregando projetos e navegando pelo código, poderá definir isso como Falso para evitar o download de imagens de contêiner de que você não precisa.
Efetuar pull das imagens atualizadas do Docker ao abrir o projeto Projetos do .NET Core Projeto Único, Docker Compose Ao abrir um projeto, verifique se há atualizações de imagens e baixe se estiverem disponíveis.
Executar contêineres ao abrir projeto True Projeto Único, Docker Compose Novamente, para aprimorar o desempenho, o Visual Studio cria um contêiner antecipadamente para que ele esteja pronto para quando você compilar e executar seu contêiner. Para controlar quando o contêiner é criado, defina como Falso.
Remover contêineres ao fechar o projeto True Projeto Único, Docker Compose Defina como Falso para que os contêineres de sua solução sejam mantidos após fechar a solução ou fechar o Visual Studio.
Execute um serviço em contêineres para habilitar a Autenticação do Azure Verdadeiro Projeto Único, Docker Compose O Visual Studio versão 17.6 ou posterior executa um serviço de proxy de token no contêiner que auxilia na Autenticação do Azure, para que seus aplicativos possam usar os serviços do Azure durante o desenvolvimento. Defina como False se você não quiser que esse serviço seja instalado e executado.
Execute um serviço em contêineres para habilitar a Recarga Dinâmica Verdadeiro Projeto Único, Docker Compose Defina como False se você não quiser que esse serviço seja instalado e executado. O serviço Recarga Dinâmica está disponível no Visual Studio 2022 versão 17.7 e posteriores e suporta apenas a execução sem depuração (Ctrl+F5).

As configurações da Janela de Ferramentas de Contêineres controlam as configurações que se aplicam à janela da ferramenta Contêineres, que mostra informações sobre contêineres e imagens do Docker. Confira Usar a janela Contêineres

Opções de Ferramentas de Contêiner do Visual Studio, mostrando as configurações disponíveis para a janela de ferramentas Contêineres

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

Nome Configuração padrão Descrição
Confirmar antes de remover contêineres Sempre Controla se você recebe um prompt ao remover contêineres não utilizados.
Confirmar antes de remover imagens Sempre Controla se você recebe um prompt ao remover imagens não utilizadas.
Confirmar antes de remover um contêiner Sempre Controla se você recebe um prompt ao remover um contêiner.
Confirmar antes de remover uma imagem Sempre Controla se você recebe um prompt ao remover uma imagem.
Confirmar antes de executar um grande número de imagens Sempre Controla se você recebe um prompt antes de iniciar contêineres de mais de 10 imagens por vez.

Aviso

Se o certificado SSL do localhost não for confiável e você selecionar a caixa para suprimir prompts, as solicitações da Web HTTPS poderão falhar em tempo de execução no aplicativo ou serviço. Nesse caso, desmarque a caixa de seleção Não solicitar, execute o projeto e indique a confiança na solicitação.

Configurar autenticação do Azure

Se o seu aplicativo usar os serviços do Azure, ele precisará das credenciais de autenticação apropriadas quando for executado em um contêiner para se autenticar nos serviços do Azure. Durante o desenvolvimento, você geralmente pode usar suas próprias credenciais do Azure em vez das credenciais que o aplicativo usa na produção, mas essas credenciais são necessárias no ambiente de contêiner para serem úteis para a execução do aplicativo em contêiner.

A partir da versão 17.6 do Visual Studio 2022, em projetos de contêiner único e Docker Compose, um serviço de proxy token é implantado e executado em seus contêineres, o que ajuda seus aplicativos e serviços a se autenticarem no Azure. O recurso requer o Azure Identity 1.9.0 ou posterior. Com este serviço ativado, você pode usar automaticamente a maioria dos serviços do Azure sem qualquer configuração ou configuração adicional dentro do contêiner. Especificamente, seu código pode usar DefaultAzureCredential e VisualStudioCredential para se autenticar nos serviços do Azure da mesma forma que fora de um contêiner. Consulte o LEIAME do Azure Identity 1.9.0.

Para desabilitar esse recurso, defina a configuração Ferramentas>OpçõesExecutar um serviço em contêineres para habilitar a Autenticação do Azure (descrita anteriormente neste artigo) como False.

Cuidado

Há um possível problema de segurança se você usar o proxy de token e tiver ativado determinados registros de diagnóstico das Ferramentas de Contêineres. Quando o registro em log está habilitado, as credenciais de autenticação podem ser registradas em log como texto simples. Esses logs são habilitados por certas variáveis de ambiente. Para projetos de contêiner único, a variável de ambiente é MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, que então faz o logon em %tmp%\Microsoft.VisualStudio.Containers.Tools. Para os projetos do Docker Compose, é MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, que então faz o logon em %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.

Leia mais sobre como trabalhar com contêineres no Visual Studio nesta visão geral.