• 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, do .NET
São Paulo e do Campinas .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 /
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
03 a 05/12/2018
Sempre das 20:00 às 23:00 – Horário de Brasília
Inscrições: http://bit.ly/dev-week-2018
Agenda
• Docker: uma visão geral
• Docker Compose: deployment de aplicações e suas
dependências
• Azure Web App for Containers
• Exemplos práticos
Docker: uma visão geral
Por que utilizar containers Docker?
• Isolamento
• Utilização mais racional de recursos
• Rapidez no deployment
• Menor dependência do ambiente
E com isto temos o fim do “bordão”...
Onde podemos utilizar Docker?
• Sites e APIs REST
• Serviços de processamento
contínuo
• Servidores de bancos de dados
• Rotinas de processamento em
geral
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)
Onde encontrar imagens?
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)
Algumas tecnologias com suporte a Docker
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
Criando containers Docker na prática
Docker + SQL Server 2017 (Baixando imagem)
docker pull microsoft/mssql-server-linux:2017-latest
+
Docker + SQL Server 2017 (Criando container)
docker run --name testesqlserver2017 -e
"ACCEPT_EULA=Y" -e
"MSSQL_SA_PASSWORD=DockerSql2017!" -e
"MSSQL_PID=Developer" --cap-add SYS_PTRACE -p
11433:1433 -d microsoft/mssql-server-linux:2017-latest
+
Docker + SQL Server 2019
docker pull mcr.microsoft.com/mssql/server:vNext-CTP2.0-ubuntu
+
Docker + SQL Server 2019
docker run --name testesqlserver2019-ctp2 -e
'ACCEPT_EULA=Y' -e 'SA_PASSWORD=SqlServer2019!' -
p 21433:1433 -d mcr.microsoft.com/mssql/server:vNext-
CTP2.0-ubuntu
+
Como conciliar projetos, dependências e
containers?
Docker Compose é a resposta!
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
• É comum a criação de networks (redes)
do Docker para deployment
Docker Compose: uma visão geral
• Arquivo com configurações no
formato YAML (docker-
compose.yml)
• Suporte também do Visual Studio
Code
ASP.NET Core 2.1 + Redis +
Marvel API + Docker Compose
+ +
+
ASP.NET Core 2.1 + Redis +
Marvel API + Docker Compose
https://github.com/renatogroffe/ASPNETCore2.1_Docker-Compose
Utilizando Docker na nuvem com o Microsoft Azure
+
Azure Web App for Containers
• Hospedagem de aplicações
• Anteriormente conhecido como Azure
Web App on Linux
• Uso de Containers Docker
• Suporte a Continuous Integration
Azure Web App for Containers
• Escalabilidade (vertical e horizontal)
• Suporte a HTTPS
• Criação de recursos a partir de
imagens
Azure Web App for Containers - Suporte
Exemplo Prático com o Azure
• API REST criada com o ASP.NET Core 2.1
• Esta aplicação foi também 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
Aplicação
• Fontes:
https://github.com/renatogroffe/ASPNETCore2.1_Kubernetes
medium.com/@renato.groffe/

Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018

  • 2.
    • Microsoft MostValuable 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, do .NET São Paulo e do Campinas .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.
    03 a 05/12/2018 Sempredas 20:00 às 23:00 – Horário de Brasília Inscrições: http://bit.ly/dev-week-2018
  • 5.
    Agenda • Docker: umavisão geral • Docker Compose: deployment de aplicações e suas dependências • Azure Web App for Containers • Exemplos práticos
  • 6.
  • 7.
    Por que utilizarcontainers Docker? • Isolamento • Utilização mais racional de recursos • Rapidez no deployment • Menor dependência do ambiente
  • 8.
    E com istotemos o fim do “bordão”...
  • 9.
    Onde podemos utilizarDocker? • Sites e APIs REST • Serviços de processamento contínuo • Servidores de bancos de dados • Rotinas de processamento em geral
  • 10.
    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)
  • 11.
  • 12.
    Imagens Alpine • Baseadasna 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)
  • 13.
    Algumas tecnologias comsuporte a Docker
  • 14.
    Montando ambientes detestes com containers • Rapidez na instalação • Desinstalação sem grandes dificuldades • Diferentes versões de um software numa mesma máquina
  • 15.
  • 16.
    Docker + SQLServer 2017 (Baixando imagem) docker pull microsoft/mssql-server-linux:2017-latest +
  • 17.
    Docker + SQLServer 2017 (Criando container) docker run --name testesqlserver2017 -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=DockerSql2017!" -e "MSSQL_PID=Developer" --cap-add SYS_PTRACE -p 11433:1433 -d microsoft/mssql-server-linux:2017-latest +
  • 18.
    Docker + SQLServer 2019 docker pull mcr.microsoft.com/mssql/server:vNext-CTP2.0-ubuntu +
  • 19.
    Docker + SQLServer 2019 docker run --name testesqlserver2019-ctp2 -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=SqlServer2019!' - p 21433:1433 -d mcr.microsoft.com/mssql/server:vNext- CTP2.0-ubuntu +
  • 20.
    Como conciliar projetos,dependências e containers?
  • 21.
    Docker Compose éa resposta!
  • 22.
    Docker Compose: umavisã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 • É comum a criação de networks (redes) do Docker para deployment
  • 23.
    Docker Compose: umavisão geral • Arquivo com configurações no formato YAML (docker- compose.yml) • Suporte também do Visual Studio Code
  • 24.
    ASP.NET Core 2.1+ Redis + Marvel API + Docker Compose + + +
  • 25.
    ASP.NET Core 2.1+ Redis + Marvel API + Docker Compose https://github.com/renatogroffe/ASPNETCore2.1_Docker-Compose
  • 26.
    Utilizando Docker nanuvem com o Microsoft Azure +
  • 27.
    Azure Web Appfor Containers • Hospedagem de aplicações • Anteriormente conhecido como Azure Web App on Linux • Uso de Containers Docker • Suporte a Continuous Integration
  • 28.
    Azure Web Appfor Containers • Escalabilidade (vertical e horizontal) • Suporte a HTTPS • Criação de recursos a partir de imagens
  • 29.
    Azure Web Appfor Containers - Suporte
  • 30.
    Exemplo Prático como Azure • API REST criada com o ASP.NET Core 2.1 • Esta aplicação foi também 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
  • 31.
  • 33.