Pular para conteúdo

Docker

Issue: [Estudo] Docker e Containerização para Ambientes de Desenvolvimento

Descrição: Este estudo foca no aprendizado de Docker para padronizar o ambiente de desenvolvimento do nosso Squad. O objetivo principal é acabar com o clássico problema do "na minha máquina funciona", garantindo que o crawler e a IA de classificação rodem exatamente da mesma forma no computador de todo mundo e no GitHub Actions.

1. O que é o Docker (e por que usar em MDS?)

Diferente de uma Máquina Virtual, o Docker compartilha o kernel do sistema operacional, o que o torna muito mais leve. Para o nosso projeto, ele serve para "empacotar" todas as dependências (Python, bibliotecas de NLP, ferramentas de scraping) em uma Imagem única.

2. Conceitos Chave

Dockerfile: É a "receita do bolo". Um arquivo de texto onde a gente escreve o passo a passo para montar o ambiente (instalar o Python, copiar o código, rodar o pip install).

Imagem: É o pacote estático (o "bolo pronto" antes de ser comido).

Container: É a imagem em execução (o processo rodando).

Docker Compose: Ferramenta para rodar múltiplos containers. Vai ser útil se a gente precisar de um banco de dados e da API de coleta rodando juntos.

3. Comandos Essenciais para o Dia a Dia

Aqui estão os comandos que eu testei e que o grupo vai precisar:

docker build -t nome-do-projeto . -> Cria a imagem a partir do Dockerfile.

docker run -p 8080:80 nome-do-projeto -> Sobe o container (mapeando a porta).

docker ps -> Lista os containers que estão rodando agora.

docker stop [ID_do_container] -> Para a execução.

docker system prune -> Limpa o lixo (imagens e containers parados) pra não encher o HD.

docker-compose up -> Sobe todo o ambiente definido no arquivo compose.

4. Integração com o nosso Pipeline

Como o projeto segue a arquitetura de APIs -> Coleta -> Classificação , o Docker vai permitir que o nosso script de coleta (GitHub Actions) rode dentro de um ambiente controlado, evitando erros de versão de biblioteca de IA ou de drivers de scraping.

Docker Docs: Orientation and Setup - https://docs.docker.com/get-started/

DigitalOcean: Como instalar e usar o Docker (Guia Prático) - [https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04]

Alura Blog: O que é Docker e como começar - [https://www.alura.com.br/artigos/comecando-com-docker]