Usando ferramentas do Visual Studio para Docker (Visual Studio no Windows)Using Visual Studio Tools for Docker (Visual Studio on Windows)

O Visual Studio Tools para o fluxo de trabalho de desenvolvimento de Docker é semelhante ao fluxo de trabalho ao usar o Visual Studio Code e CLI do Docker.The Visual Studio Tools for Docker development workflow is similar to the workflow when using Visual Studio Code and Docker CLI. Na verdade, ele se baseia a CLI do Docker mesmo, mas é mais fácil de começar, simplifica o processo e fornece maior produtividade para a compilação, executar e composição de tarefas.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. Executar e depurar seus contêineres por meio de ações simples, como F5 e Ctrl+F5.Execute and debug your containers via simple actions like F5 and Ctrl+F5. Com o suporte de orquestração de contêiner opcional, além de poder executar e depurar um único contêiner, você pode executar e depurar um grupo de contêineres (uma solução inteira) ao mesmo tempo.With the optional container orchestration support, in addition to being able to run and debug a single container, you can run and debug a group of containers (a whole solution) at the same time.

Observação

Este artigo se aplica ao Visual Studio no Windows e não no Visual Studio para Mac.This article applies to Visual Studio on Windows, and not Visual Studio for Mac.

Configurar seu ambiente localConfigure your local environment

Com as versões mais recentes do Docker para Windows (https://docs.docker.com/docker-for-windows/), o programa de instalação simples torna mais fácil desenvolver aplicativos do Docker.With the latest versions of Docker for Windows (https://docs.docker.com/docker-for-windows/), the straightforward setup makes it easy to develop Docker applications.

Suporte ao docker está incluído no Visual Studio 2017.Docker support is included in Visual Studio 2017. Baixe o Visual Studio 2017 aqui: https://aka.ms/vsdownload?utm_source=mscom&utm_campaign=msdocsDownload Visual Studio 2017 here: https://aka.ms/vsdownload?utm_source=mscom&utm_campaign=msdocs

Use as ferramentas do Docker no Visual Studio 2017Use Docker Tools 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 de aplicativo web .NET Core, você pode adicionar apenas um Dockerfile arquivo ao projeto, permitindo o suporte do Docker.In .NET Core web app 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 uma 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 nas versões do Visual Studio 2017 15.7 ou anteriores.Container orchestration support, via Docker Compose, is added by default in Visual Studio 2017 versions 15.7 or earlier. Suporte de orquestração de contêiner é um recurso de aceitação em versões do Visual Studio 2017 15,8 ou posterior, nesse caso, Docker Compose e o Service Fabric têm suporte.Container orchestration support is an opt-in feature in Visual Studio 2017 versions 15.8 or later, in which case Docker Compose and Service Fabric are supported.

O Add > suporte ao Docker e Add > suporte de orquestração de contêiner comandos são localizado no menu de atalho (ou menu de contexto) do nó do projeto para um projeto de aplicativo web no Gerenciador de soluções, conforme mostrado na Figura 4-26:The Add > Docker Support and Add > Container orchestration Support commands are located on the right-click menu (or context menu) of the project node for a web app project in Solution Explorer, as shown in Figure 4-26:

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

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

Adicionar suporte ao DockerAdd Docker support

Você pode adicionar suporte ao Docker para um projeto de aplicativo web .NET Core existente selecionando Add > suporte ao Docker na Gerenciador de soluções.You can add Docker support to an existing .NET Core web app 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-27.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-27.

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

Figura 4-27: Habilitar o suporte ao Docker durante a criação do projeto no Visual Studio 2017Figure 4-27: Enable 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 de aplicativo web do .NET Framework (não um projeto de aplicativo .NET Core da web) como mostrado na Figura 4-28, suporte de orquestração de contêiner também é adicionado.When you enable Docker Compose support during project creation for a .NET Framework web app project (not a .NET Core web app project) as shown in Figure 4-28, container orchestration support is also added.

Habilitar o Docker compose suporte para um projeto de aplicativo web do .NET Framework

Figura 4-28: Habilitando o suporte do Docker Compose em um projeto de aplicativo web do .NET Framework no Visual Studio 2017Figure 4-28: Enabling Docker Compose support on a .NET Framework web app 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êineres, adicione suporte de orquestração de contêiner para seus projetos.When you want to compose a multicontainer 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 Add > 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-29: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-29:

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

Figura 4-29: Arquivos do docker no Gerenciador de soluções no Visual Studio 2017Figure 4-29: Docker 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.

Figura 4-30: Opções de ferramentas do dockerFigure 4-30: Docker 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, ao carregar 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 are 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.

Obter mais informações: 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:More information: For further details on the services implementation and use of Visual Studio Tools for Docker, read the following articles:

Compilar, depurar, atualizar e atualizar aplicativos em um contêiner de Docker local: https://docs.microsoft.com/azure/vs-azure-tools-docker-edit-and-refresh/Build, debug, update, and refresh apps in a local Docker container: https://docs.microsoft.com/azure/vs-azure-tools-docker-edit-and-refresh/

Implante um contêiner de docker do ASP.NET Core em um registro de contêiner: https://docs.microsoft.com/azure/vs-azure-tools-docker-hosting-web-apps-in-docker/Deploy an ASP.NET Core Docker container to a container registry: https://docs.microsoft.com/azure/vs-azure-tools-docker-hosting-web-apps-in-docker/