Curso: Linux e DevOps Básico
Docker — Primeiros Passos
Docker facilita empacotar aplicações com dependências em contêineres portáveis e reproduzíveis. É tecnologia central para desenvolvimento moderno e integração contínua.
🎯 Objetivos de aprendizagem
- Entender diferença entre contêiner e máquina virtual.
- Executar imagens e gerenciar contêineres básicos.
- Criar primeiro Dockerfile para aplicação simples.
Conceitos fundamentais
Contêineres compartilham kernel do host e isolam processos, oferecendo inicialização rápida e baixo consumo em comparação a VMs completas.
Imagem é o template imutável; contêiner é a instância em execução dessa imagem.
Fluxo básico com CLI
Comandos como `docker pull`, `docker run`, `docker ps` e `docker logs` permitem ciclo inicial de uso e diagnóstico.
Mapeamento de portas e volumes é essencial para expor serviços e persistir dados.
Dockerfile e boas práticas
Um Dockerfile descreve como construir a imagem da aplicação. Camadas bem planejadas reduzem tamanho e tempo de build.
Imagens enxutas, usuário não privilegiado e versionamento claro aumentam segurança e confiabilidade.
💡 Dicas práticas
- Evite executar contêiner como root quando não for necessário.
- Fixe versões de imagem para garantir reprodutibilidade.
- Use `.dockerignore` para reduzir contexto de build.
🎬 Videoaula
📝 Atividade proposta
Crie um Dockerfile para uma aplicação simples (ex.: script Python) e execute o contêiner mapeando uma porta e um volume local para armazenamento.
🤔 Para refletir
- Quais vantagens Docker traz para ambiente de ensino e laboratório?
- Quando faz sentido usar volume em vez de manter dado no contêiner?
- Como boas práticas de imagem impactam segurança e tempo de deploy?
📖 Glossário
- Imagem
- Pacote imutável com aplicação e dependências.
- Contêiner
- Instância executável de uma imagem Docker.
- Volume
- Mecanismo de persistência de dados fora do ciclo do contêiner.
🔗 Materiais complementares
- Consulte documentação oficial do Docker sobre conceitos básicos.
- Pratique criação de imagens para pequenos projetos técnicos.