Use as ferramentas do Docker no Visual Studio 2017 no WindowsUse Docker Tools in Visual Studio 2017 on Windows

O fluxo de trabalho do desenvolvedor ao usar as ferramentas do Docker incluído no Visual Studio 2017 versão 15.7 e posteriores, é semelhante a usar o Visual Studio Code e CLI do Docker (na verdade, ele se baseia na mesma Docker CLI), mas ele é mais fácil de começar, simplifica o processo, e fornece maior produtividade para a compilação, executar e composição de tarefas.The developer workflow when using the Docker Tools included in Visual Studio 2017 version 15.7 and later, is similar to using Visual Studio Code and Docker CLI (in fact, it's based on the same Docker CLI), but it's easier to get started, simplifies the process, and provides greater productivity for the build, run, and compose tasks. Ele também pode executar e depurar seus contêineres por meio de normais F5 e Ctrl+F5 teclas do Visual Studio.It can also run and debug your containers via the usual F5 and Ctrl+F5 keys from Visual Studio. Você pode até mesmo depurar toda a solução se seus contêineres são definidos no mesmo docker-compose.yml arquivo no nível da solução.You can even debug a whole solution if its containers are defined in the same docker-compose.yml file at the solution level.

Configurar seu ambiente localConfigure your local environment

Com as versões mais recentes do Docker para Windows, é mais fácil do que nunca para desenvolver aplicativos do Docker porque a instalação é simples, conforme explicado nas seguintes referências.With the latest versions of Docker for Windows, it's easier than ever to develop Docker applications because the setup is straightforward, as explained in the following references.

Dica

Para saber mais sobre como instalar o Docker para Windows, vá para (https://docs.docker.com/docker-for-windows/).To learn more about installing Docker for Windows, go to (https://docs.docker.com/docker-for-windows/).

Suporte do docker no Visual Studio 2017Docker support in Visual Studio 2017

Há dois níveis de suporte do Docker que você pode adicionar a um projeto.There are two levels of Docker support you can add to a project. Em projetos do ASP.NET Core, você pode adicionar apenas um Dockerfile arquivo ao projeto, permitindo o suporte do Docker.In ASP.NET Core projects, you can just add a Dockerfile file to the project by enabling Docker support. O próximo nível é o suporte de orquestração de contêiner, que adiciona uma Dockerfile para o projeto (se ainda não existir) e um docker-compose.yml arquivo no nível da solução.The next level is container orchestration support, which adds a Dockerfile to the project (if it doesn't already exist) and a docker-compose.yml file at the solution level. Suporte de orquestração de contêiner, por meio do Docker Compose, é adicionado por padrão no Visual Studio 2017 versões 15.0 para 15.7.Container orchestration support, via Docker Compose, is added by default in Visual Studio 2017 versions 15.0 to 15.7. Suporte de orquestração de contêiner é um recurso de aceitação em versões do Visual Studio 2017 15,8 ou posteriores.Container orchestration support is an opt-in feature in Visual Studio 2017 versions 15.8 or later. Versão 15,8 um posteriormente oferecer suporte a Docker Compose e do Service Fabric.Version 15.8 an later support Docker Compose and Service Fabric.

O Adicionar > suporte do Docker e Adicionar > suporte de orquestrador de contêiner comandos estão localizados no menu de atalho (ou menu de contexto) do nó do projeto para um projeto ASP.NET Core em Gerenciador de soluções, conforme mostrado na Figura 4-31:The Add > Docker Support and Add > Container Orchestrator Support commands are located on the right-click menu (or context menu) of the project node for an ASP.NET Core project in Solution Explorer, as shown in Figure 4-31:

Adicionar a opção de menu de suporte do Docker no Visual Studio

Figura 4-31.Figure 4-31. Adicionando suporte ao Docker a um projeto do Visual Studio 2017Adding Docker support to a Visual Studio 2017 project

Adicionar suporte ao DockerAdd Docker support

Você pode adicionar suporte ao Docker a um projeto existente do ASP.NET Core, selecionando Add > suporte ao Docker na Gerenciador de soluções.You can add Docker support to an existing ASP.NET Core project by selecting Add > Docker Support in Solution Explorer. Você também pode habilitar o suporte ao Docker durante a criação do projeto, selecionando Habilitar suporte ao Docker na novo aplicativo Web do ASP.NET Core caixa de diálogo que abre após você clicar em Okey no novo projeto caixa de diálogo, conforme mostrado na Figura 4-32.You can also enable Docker support during project creation by selecting Enable Docker Support in the New ASP.NET Core Web Application dialog box that opens after you click OK in the New Project dialog box, as shown in Figure 4-32.

Habilitar o suporte do Docker para o novo aplicativo web de ASP.NET Core no Visual Studio

Figura 4-32.Figure 4-32. Habilitar o suporte ao Docker durante a criação do projeto no Visual Studio 2017Enable Docker support during project creation in Visual Studio 2017

Quando você adiciona ou habilitar o suporte do Docker, o Visual Studio adiciona uma Dockerfile arquivo ao projeto.When you add or enable Docker support, Visual Studio adds a Dockerfile file to the project.

Observação

Quando você habilita o suporte do Docker Compose durante a criação do projeto para um projeto do ASP.NET (.NET Framework, não em um projeto .NET Core) conforme mostrado na Figura 4-33, suporte de orquestração de contêiner também é adicionado.When you enable Docker Compose support during project creation for a ASP.NET project (.NET Framework, not a .NET Core project) as shown in Figure 4-33, container orchestration support is also added.

Habilitar o Docker compose suporte para um projeto do ASP.NET

Figura 4-33.Figure 4-33. Habilitando o suporte do Docker Compose para um projeto ASP.NET no Visual Studio 2017Enabling Docker Compose support for an ASP.NET project in Visual Studio 2017

Adicionar suporte de orquestração de contêinerAdd container orchestration support

Quando você deseja compor uma solução de vários contêiner, adicione suporte de orquestração de contêiner para seus projetos.When you want to compose a multi-container solution, add container orchestration support to your projects. Isso permite que você execute e depure um grupo de contêineres (uma solução inteira) ao mesmo tempo se eles estão definidos na mesma docker-Compose. yml arquivo.This lets you run and debug a group of containers (a whole solution) at the same time if they're defined in the same docker-compose.yml file.

Para adicionar suporte de orquestração de contêiner, clique com botão direito no nó do projeto ou solução na Gerenciador de soluçõese escolha Adicionar > suporte de orquestração de contêiner.To add container orchestration support, right-click on the solution or project node in Solution Explorer, and choose Add > Container Orchestration Support. Em seguida, escolha Docker Compose ou do Service Fabric para gerenciar os contêineres.Then choose Docker Compose or Service Fabric to manage the containers.

Depois de adicionar suporte de orquestração de contêiner ao seu projeto, você verá um Dockerfile adicionado ao projeto e um docker-compose pasta adicionada à solução em Gerenciador de soluções, conforme mostrado na Figura 4-34:After you add container orchestration support to your project, you see a Dockerfile added to the project and a docker-compose folder added to the solution in Solution Explorer, as shown in Figure 4-34:

Arquivos do docker no Gerenciador de soluções no Visual Studio

Figura 4-34.Figure 4-34. Arquivos do docker no Gerenciador de soluções no Visual Studio 2017Docker files in Solution Explorer in Visual Studio 2017

Se docker-Compose. yml já existir, o Visual Studio adiciona apenas as linhas necessárias de código de configuração a ele.If docker-compose.yml already exists, Visual Studio just adds the required lines of configuration code to it.

Configurar ferramentas do DockerConfigure Docker tools

No menu principal, escolha Ferramentas > Opçõese expanda ferramentas de contêiner > configurações.From the main menu, choose Tools > Options, and expand Container Tools > Settings. As configurações de ferramentas de contêiner aparecem.The container tools settings appear.

Docker no Visual Studio tools opções, que mostra: Extrair automaticamente as imagens necessárias do Docker no carregamento do projeto, iniciar automaticamente os contêineres em segundo plano, elimine automaticamente os contêineres no fechamento de solução e não solicitar para confiar em certificado SSL.

Figura 4-35.Figure 4-35. Opções de ferramentas do dockerDocker Tools Options

A tabela a seguir pode ajudá-lo a decidir como definir essas opções.The following table might help you decide how to set these options.

NomeName Configuração padrãoDefault Setting Aplica-se aApplies To DescriçãoDescription
Extrair automaticamente as imagens necessárias do Docker no carregamento do projetoAutomatically pull required Docker images on project load OnOn Docker ComposeDocker Compose Para melhorar o desempenho durante o carregamento de projetos, o Visual Studio será iniciado uma operação de pull do Docker em segundo plano para que quando você estiver pronto para executar seu código, a imagem é baixada já ou no processo de download.For increased performance when loading projects, Visual Studio will start a Docker pull operation in the background so that when you're ready to run your code, the image is already downloaded or in the process of downloading. Se você estiver apenas carregar projetos e navegação de código, você pode desativar isso para evitar o download de imagens de contêiner, que você não precisa.If you're just loading projects and browsing code, you can turn this off to avoid downloading container images you don't need.
Iniciar automaticamente os contêineres em segundo planoAutomatically start containers in background OnOn Docker ComposeDocker Compose Novamente para melhorar o desempenho, o Visual Studio cria um contêiner com montagens de volume pronto para quando você compila e executar seu contêiner.Again for increased performance, Visual Studio creates a container with volume mounts ready for when you build and run your container. Se você desejar controlar quando o contêiner é criado, desative essa opção.If you want to control when your container is created, turn this off.
Fechar automaticamente os contêineres kill na soluçãoAutomatically kill containers on solution close OnOn Docker ComposeDocker Compose Desative essa opção se você desejar contêineres para sua solução continuar a executar após fechar a solução ou fechar o Visual Studio.Turn this off if you would like containers for your solution to continue to run after closing the solution or closing Visual Studio.
Não solicitar certificado SSL localhost confiávelDo not prompt for trusting localhost SSL certificate OffOff Projetos do ASP.NET Core 2.1ASP.NET Core 2.1 projects Se o certificado SSL do localhost não for confiável, Visual Studio solicitará que toda vez que você execute seu projeto, a menos que essa caixa de seleção está marcada.If the localhost SSL certificate is not trusted, Visual Studio will prompt every time you run your project, unless this checkbox is checked.

Aviso

Se o certificado SSL do localhost não é confiável e você marcar a caixa para suprimir a solicitação, solicitações da web HTTPS podem falhar em tempo de execução em seu aplicativo ou serviço.If the localhost SSL certificate is not trusted, and you check the box to suppress prompting, then HTTPS web requests might fail at runtime in your app or service. Nesse caso, desmarque a não solicitar caixa de seleção, execute seu projeto e indicar confiança no prompt de.In that case, uncheck the Do not prompt checkbox, run your project, and indicate trust at the prompt.

Dica

Para obter mais detalhes sobre a implementação de serviços e o uso de ferramentas do Visual Studio para Docker, leia os artigos a seguir:For further details on the services implementation and use of Visual Studio Tools for Docker, read the following articles:

Depuração de aplicativos em um contêiner de Docker local: https://docs.microsoft.com/azure/vs-azure-tools-docker-edit-and-refreshDebugging apps in a local Docker container: https://docs.microsoft.com/azure/vs-azure-tools-docker-edit-and-refresh

Implante um contêiner ASP.NET em um registro de contêiner usando o Visual Studio: https://docs.microsoft.com/azure/vs-azure-tools-docker-hosting-web-apps-in-dockerDeploy an ASP.NET container to a container registry using Visual Studio: https://docs.microsoft.com/azure/vs-azure-tools-docker-hosting-web-apps-in-docker