• 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 DevOps Professionals
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
Agenda
• Dicas e truques na utilização de containers Docker
• Exemplos práticos
Qual o objetivo das dicas a seguir
• Escrever menos comandos
• Implementar soluções mais elegantes
• Utilizar containers de maneira mais
segura
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)
Nomear um container
• O Docker costuma assumir nomes
aleatórios como: lucid_swartz
Atalhos utilizando o ID de um container
• Containers podem ser referenciados
usando parte de seu ID
Criar volumes ao utilizar bancos de dados
• Informar
-v Diretório Host:Diretório de Dados
Criar volumes ao utilizar bancos de dados
Play with Docker
• Ambiente online gratuito para testes
com Docker
Conectar a um container em execução
• docker exec –it CONTAINER COMANDO
Copiar arquivos para dentro e fora de um container
• docker cp ORIGEM DESTINO
Docker Compose: exemplo prático
Criação de um ambiente com:
• SQL Server 2017
• SQL Server 2019 CTP 3.1
• PostgreSQL + pgAdmin 4
• MySQL + Adminer
Publicando sites estáticos com Docker
• O NGINX também é uma das soluções mais
utilizadas
+
Variáveis de ambiente
• Preenchimento de configurações essenciais
para a execução de containers
Imagens Privadas: Azure Container Registry
• Armazenamento de imagens
Docker privadas na nuvem
• Alternativa ao Docker Hub
Azure Container Registry – Publicação
docker tag apicontagem:latest groffecr.azurecr.io/apicontagem
docker login groffecr.azurecr.io -u USUÁRIO -p SENHA
docker push groffecr.azurecr.io/apicontagem
Azure Container Instances
• Criação um único container na
nuvem de forma descomplicada
Azure Web App for Containers
• Hospedagem de aplicações baseadas
em containers
• Imagens Linux e Windows
• Suporte a Continuous Integration
• Escalabilidade (vertical e horizontal)
• Suporte a HTTPS
Build Automatizado e Versionamento
• A geração automática de novas tags
pode ser facilitada com soluções
como o Azure DevOps e Azure
Container Registry
Deployment Automatizado
• A solução descrita nos slides anteriores pode ser
combinada para o deployment automatizado em serviços
como Azure Web App for Containers
Azure Kubernetes Service (AKS)
• Serviço gerenciado na nuvem
• Alocação da infraestrutura necessária
para criação dos nós
• Necessidade de uso do Azure CLI para
liberar o acesso ao cluster Kubernetes
via kubectl
Kubernetes – Dashboard
• Interface Web para gerenciamento de um cluster
Kubernetes + Configurações – Dica 1
• O mesmo conceito de variáveis de ambiente do
Docker se aplica ao Kubernetes (definições num
arquivo YAML)
Kubernetes + Configurações – Dica 2
• Secrets também podem ser empregados
Kubernetes + Tasks agendadas
• CronJobs podem ser uma excelente opção para
a execução de processos repetitivos
medium.com/@renato.groffe/

Docker e Kubernetes: Dicas e Truques - Dezembro-2019

  • 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 DevOps Professionals 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 • Dicas etruques na utilização de containers Docker • Exemplos práticos
  • 5.
    Qual o objetivodas dicas a seguir • Escrever menos comandos • Implementar soluções mais elegantes • Utilizar containers de maneira mais segura
  • 6.
    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)
  • 7.
    Nomear um container •O Docker costuma assumir nomes aleatórios como: lucid_swartz
  • 8.
    Atalhos utilizando oID de um container • Containers podem ser referenciados usando parte de seu ID
  • 9.
    Criar volumes aoutilizar bancos de dados • Informar -v Diretório Host:Diretório de Dados
  • 10.
    Criar volumes aoutilizar bancos de dados
  • 11.
    Play with Docker •Ambiente online gratuito para testes com Docker
  • 12.
    Conectar a umcontainer em execução • docker exec –it CONTAINER COMANDO
  • 13.
    Copiar arquivos paradentro e fora de um container • docker cp ORIGEM DESTINO
  • 14.
    Docker Compose: exemploprático Criação de um ambiente com: • SQL Server 2017 • SQL Server 2019 CTP 3.1 • PostgreSQL + pgAdmin 4 • MySQL + Adminer
  • 15.
    Publicando sites estáticoscom Docker • O NGINX também é uma das soluções mais utilizadas +
  • 16.
    Variáveis de ambiente •Preenchimento de configurações essenciais para a execução de containers
  • 17.
    Imagens Privadas: AzureContainer Registry • Armazenamento de imagens Docker privadas na nuvem • Alternativa ao Docker Hub
  • 18.
    Azure Container Registry– Publicação docker tag apicontagem:latest groffecr.azurecr.io/apicontagem docker login groffecr.azurecr.io -u USUÁRIO -p SENHA docker push groffecr.azurecr.io/apicontagem
  • 19.
    Azure Container Instances •Criação um único container na nuvem de forma descomplicada
  • 20.
    Azure Web Appfor Containers • Hospedagem de aplicações baseadas em containers • Imagens Linux e Windows • Suporte a Continuous Integration • Escalabilidade (vertical e horizontal) • Suporte a HTTPS
  • 21.
    Build Automatizado eVersionamento • A geração automática de novas tags pode ser facilitada com soluções como o Azure DevOps e Azure Container Registry
  • 22.
    Deployment Automatizado • Asolução descrita nos slides anteriores pode ser combinada para o deployment automatizado em serviços como Azure Web App for Containers
  • 23.
    Azure Kubernetes Service(AKS) • Serviço gerenciado na nuvem • Alocação da infraestrutura necessária para criação dos nós • Necessidade de uso do Azure CLI para liberar o acesso ao cluster Kubernetes via kubectl
  • 24.
    Kubernetes – Dashboard •Interface Web para gerenciamento de um cluster
  • 25.
    Kubernetes + Configurações– Dica 1 • O mesmo conceito de variáveis de ambiente do Docker se aplica ao Kubernetes (definições num arquivo YAML)
  • 26.
    Kubernetes + Configurações– Dica 2 • Secrets também podem ser empregados
  • 27.
    Kubernetes + Tasksagendadas • CronJobs podem ser uma excelente opção para a execução de processos repetitivos
  • 29.