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:
Configurações de Projeto Único e Docker Compose das Ferramentas de Contêiner:
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
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ções Executar 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
.
Conteúdo relacionado
Leia mais sobre como trabalhar com contêineres no Visual Studio nesta visão geral.