Visão Geral
Este Curso Docker para Desenvolvedores, foi projetado para desenvolvedores que desejam dominar o uso do Docker no ciclo de desenvolvimento de software. O aluno aprenderá desde os fundamentos de containers até a construção, otimização e publicação de imagens, além de práticas de integração com pipelines de CI/CD e execução em ambientes de nuvem. O foco está em aplicar Docker para aumentar a produtividade, padronizar ambientes e acelerar entregas.
Objetivo
Após realizar este curso Docker para Desenvolvedores, você será capaz de:
- Compreender o conceito de containers e sua diferença em relação a máquinas virtuais.
- Criar, gerenciar e otimizar imagens Docker.
- Utilizar volumes e redes para aplicações distribuídas.
- Criar ambientes de desenvolvimento consistentes e portáteis.
- Publicar e compartilhar imagens em registries.
- Integrar Docker em pipelines de desenvolvimento e CI/CD.
Publico Alvo
- Desenvolvedores de software que desejam criar, executar e compartilhar aplicações com Docker.
- Engenheiros DevOps e profissionais de infraestrutura interessados em ambientes containerizados.
- Estudantes e profissionais que estão iniciando com containers.
- Equipes de desenvolvimento que precisam padronizar ambientes de execução.
Pre-Requisitos
- Conhecimentos básicos de sistemas operacionais (Linux/Windows).
- Noções de desenvolvimento de software em qualquer linguagem.
- Familiaridade com linha de comando.
Materiais
Português + Exercícios + Lab Pratico
Conteúdo Programatico
Introdução ao Docker e Containers
- O que são containers e por que usá-los
- Diferenças entre containers e máquinas virtuais
- Arquitetura do Docker: Engine, CLI e Daemon
- Instalando e configurando Docker no ambiente local
Trabalhando com Containers
- Executando o primeiro container (
docker run
)
- Inspecionando containers em execução
- Gerenciando containers: start, stop, restart, rm
- Interagindo com containers: logs e exec
Imagens Docker
- Obtendo imagens do Docker Hub
- Criando imagens a partir de containers
- Introdução ao Dockerfile
- Construindo imagens customizadas com
docker build
- Boas práticas para imagens pequenas e seguras
Volumes e Persistência de Dados
- Diferença entre volumes e bind mounts
- Criando volumes para persistência
- Compartilhando dados entre containers
- Cenários de persistência em aplicações reais
Redes no Docker
- Redes bridge, host e overlay
- Comunicação entre containers
- Criando redes customizadas
- Expondo aplicações para o mundo externo
Docker Compose para Desenvolvedores
- O que é Docker Compose
- Criando o primeiro
docker-compose.yml
- Orquestração de múltiplos serviços (ex.: app + banco de dados)
- Ambientes de desenvolvimento com Compose
Registries e Compartilhamento de Imagens
- Introdução ao Docker Hub
- Autenticação e push de imagens
- Configuração de registries privados
- Uso de registries em pipelines de CI/CD
Docker no Ciclo de Desenvolvimento
- Criando ambientes consistentes de desenvolvimento
- Integração com frameworks e linguagens (Node.js, Python, Java, etc.)
- Debugging em containers
- Docker e integração contínua (GitLab CI, GitHub Actions, Jenkins)
Boas Práticas e Casos Reais
- Estruturação de Dockerfiles para produção
- Multistage builds
- Gerenciamento de dependências em containers
- Casos práticos: rodando uma aplicação web em Docker
Projeto Final
- Construção de uma aplicação containerizada completa
- Uso de Docker Compose para orquestrar múltiplos serviços
- Publicação no Docker Hub
- Execução em pipeline de CI/CD
TENHO INTERESSE