Container Technologies
MBA Cloud Computing & DevOps · Prof. Gerson Carneiro ·

Container
Technologies

Do processo isolado no kernel Linux até o cluster Kubernetes gerenciado na AWS. Cada aula traz a apresentação conceitual e, logo abaixo de cada tópico, um exercício focado para reproduzir no GitHub Codespaces.

Pirâmide de aprendizagem

MétodoPassivo
10%
Ler
20%
Escutar
30%
Ver
50%
Ver e escutar
MétodoAtivo
70%
Conversar, perguntar, repetir, reproduzir, definir e debater
80%
Praticar
95%
Ensinar aos outros

Por isso cada tópico termina num exercício: praticar no Codespaces e explicar para o colega fixam muito mais do que só assistir aos slides. Os percentuais são ilustrativos, popularizados a partir do modelo de William Glasser; o que vale é a ideia de que aprendizado ativo retém mais.

Todos os exercícios rodam no navegador, num ambiente Linux com Docker já instalado. Não é preciso instalar nada na sua máquina.

1

Crie o codespace

Acesse github.com/codespaces e clique em New codespace, ou, dentro de um repositório seu, em Code → Codespaces → Create codespace.

Escolha a máquina de 4 cores (…→ New with options): as aulas de Kubernetes precisam de mais memória.

2

Abra o terminal e valide

O VS Code abre no navegador. Vá em Terminal → New Terminal e confira se o Docker responde:

terminal
docker version
docker run --rm hello-world
3

Acesse as aplicações

Quando um container publicar uma porta (ex.: -p 8080:80), abra a aba Ports e clique no ícone de globo. A URL também pode ser gerada no terminal:

terminal
echo "https://${CODESPACE_NAME}-8080.${GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN}"
4

Pare ao terminar

O Codespaces consome horas da sua cota. Ao fim de cada aula, em github.com/codespaces, use … → Stop codespace. Exclua o codespace quando terminar a disciplina.

Arquivos em ~/labs continuam lá entre uma parada e outra; só se perdem ao excluir o codespace.

ECS e EKS no AWS Academy Learner Lab

Para provisionar o Amazon ECS e o Amazon EKS vamos usar o AWS Academy Learner Lab: uma conta AWS de estudo, com créditos da turma, sem cartão de crédito e sem custo para você. O convite chega por e-mail do AWS Academy.

  1. Aceite o convite e entre em awsacademy.instructure.com → Modules → Launch AWS Academy Learner Lab.
  2. Clique em Start Lab e aguarde o indicador ao lado de “AWS” ficar verde.
  3. Em AWS Details → AWS CLI: Show, copie as credenciais temporárias para ~/.aws/credentials no Codespaces e confira com aws sts get-caller-identity.
Antes de usar, saiba que
  • A sessão dura cerca de 4 horas e as credenciais expiram junto: ao reiniciar o lab, copie-as de novo.
  • Os recursos continuam existindo depois que a sessão acaba e consomem os créditos. Apague tudo no fim do exercício.
  • As permissões de IAM são limitadas: use a role pronta LabRole em vez de criar roles novas.
  • Trabalhe na região us-east-1.

Como usar esta página

Uma aba por aulaCada tópico traz primeiro os slides do conceito e, logo abaixo, o exercício daquele tópico.
Apresentar aulaProjeta os slides em tela cheia. Setas ← → navegam, Esc sai. Antes de cada exercício aparece o slide “Hora de praticar”.
Copiar comandosCada bloco de terminal tem o ícone de copiar no canto superior direito.
Acompanhar o progressoMarque os exercícios concluídos; o contador aparece na aba de cada aula. A marcação fica só no seu navegador.

Ferramentas usadas

FerramentaAulaPara quê
Docker Engine + CLI01–02Build e execução de containers
Hadolint01Lint de Dockerfile
Trivy01Scan de vulnerabilidades e SBOM
Docker Compose02Aplicações multi-container
Docker Swarm02Orquestração nativa do Docker
k3d + kubectl03–04Cluster Kubernetes local
eksctl04Provisionar e operar o Amazon EKS

Hadolint e Trivy rodam como containers; k3d e eksctl são instalados no próprio exercício em que aparecem.

CombinadosAulas das 19h às 22h40, com intervalo de 15 minutosMateriais, links e gravações no mural da turmaNotas lançadas em até 15 dias