Renato Groffe é um desenvolvedor brasileiro com mais de 15 anos de experiência. Ele é um Microsoft MVP e MTAC, autor técnico, palestrante e organizador do Canal .NET. O documento resume sua agenda sobre Docker, incluindo conceitos fundamentais, bancos de dados, Docker Compose, integração com Visual Studio e Azure Web App for Containers.
2. • Microsoft Most Valuable Professional (MVP)
• Multi-Plataform Technical Audience
Contributor (MTAC)
• Mais de 15 anos de experiência na área de
Tecnologia
• Autor Técnico e Palestrante
• Um dos organizadores do Canal .NET
Renato Groffe
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
3. Renato Groffe - Contatos
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
/renatogroffe /in/renatogroffe
/canaldotnet
/renatogroffe
/canaldotnet
/renatogroff
4. Agenda
• Um pouco mais sobre Docker
• Docker + Bancos de Dados
• Docker Compose: deployment de aplicações e suas dependências
• Integração Docker + Visual Studio 2017
• Azure Web App for Containers
• Exemplos práticos
6. Conceitos Fundamentais
• Imagens → “receita” para criação de
containers (arquivo Dockerfile); contém
todos os arquivos e dependências de uma
aplicação – incluindo sistema operacional
• Containers → pacote com tudo que é
necessário para a execução de uma
aplicação (serviço, site, API)
8. Imagens Alpine
• Baseadas na distribuição Alpine Linux
• Preocupação com segurança e
simplicidade
• Imagens Docker menores (contendo
apenas o mínimo necessário para a
execução da aplicação)
17. Montando ambientes de testes com containers
• Rapidez na instalação
• Desinstalação sem grandes dificuldades
• Diferentes versões de um software numa mesma máquina
24. Docker Compose: uma visão geral
• Criação e execução conjunta dos múltiplos
containers de uma aplicação
• Facilita o deployment em ambientes de
desenvolvimento e testes
• Suporte a integração contínua
• Extremamente útil com microserviços
25. Docker Compose: uma visão geral
• É comum a criação de networks (redes) do
Docker para deployment
• Arquivo com configurações no formato YAML
(docker-compose.yml)
• Suporte também do Visual Studio Code
27. Docker + Visual Studio 2017
• Integração para a criação de imagens e containers
Docker em aplicações ASP.NET Core
• Possibilidade até de debug a partir de um
container
33. ASP.NET Core 2.0 + Redis +
Marvel API + Docker Compose
https://github.com/renatogroffe/ASPNETCore2_Docker-Compose
34. Uma dificuldade recorrente entre Devs...
• Como implementar soluções
similares a Windows Services e
multiplataformas?
• Como conseguir isto com o
máximo de reaproveitamento
de código?
38. Azure Web App for Containers
• Hospedagem de aplicações
• Anteriormente conhecido como Azure
Web App on Linux
• Containers Docker em Linux
• Suporte a Continuous Integration
39. Azure Web App for Containers
• Escalabilidade (vertical e horizontal)
• Suporte a HTTPS
• Criação de recursos a partir de
imagens, Docker Compose ou Pods do
Kubernetes
41. Exemplo Prático
• API REST criada com o ASP.NET Core 2.1
• Esta aplicação foi publicada no Docker
Hub como a imagem
renatogroffe/apicontagem
• Contagem de acessos, além de exibição do
nome da máquina e do sistema
operacional em uso