Conteinerização da API do modelo
Dockerfile para FastAPI + modelo, compilações em várias etapas, endpoint de verificação de integridade e docker-compose.
Conteinerização da API do modelo é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
Por que usar Docker?
Docker empacota sua API, sua versão do Python e todas as dependências em uma única imagem portátil que é executada da mesma forma em qualquer máquina. Isso elimina os problemas de "funciona no meu computador" e é a forma padrão de distribuir serviços de ML.
O Dockerfile
Um Dockerfile é uma receita de etapas de compilação. Cada instrução cria uma camada armazenada em cache, portanto ordenar bem as etapas acelera as reconstruções.
FROM python:3.11-slim
A linha FROM escolhe uma imagem base. python:3.11-slim é uma imagem pequena do Debian com Python pré-instalado, muito mais leve que a imagem completa, o que reduz o tamanho final e a superfície de ataque.
FROM python:3.11-slimWORKDIR /app
WORKDIR define o diretório de trabalho dentro do contêiner; os comandos COPY e RUN seguintes operam em relação a ele, mantendo os caminhos organizados.
WORKDIR /appCopie os requisitos primeiro
Copie apenas requirements.txt antes do código-fonte. Como o Docker armazena as camadas em cache, as dependências só são reinstaladas quando os requisitos mudam, e não a cada edição do código, acelerando muito as reconstruções.
COPY requirements.txt .RUN pip install --no-cache-dir
RUN executa um comando de compilação. --no-cache-dir ignora o cache de download do pip para manter a imagem menor (o cache não tem utilidade dentro de uma imagem).
RUN pip install --no-cache-dir -r requirements.txtCopie o código-fonte
Agora copie o restante da aplicação. Fazer isso depois da instalação do pip significa que editar o código não invalida a camada de dependências armazenada em cache.
COPY . .EXPOSE 8000
EXPOSE documenta em qual porta o contêiner escuta. Ele não publica a porta por si só (isso é feito no tempo de execução com -p), mas sinaliza a intenção para leitores e ferramentas.
EXPOSE 8000A instrução CMD
CMD define o comando padrão executado quando o contêiner é iniciado. Aqui, iniciamos o uvicorn vinculado a 0.0.0.0 para que ele possa ser acessado de fora do contêiner.
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]O Dockerfile completo
Todas as partes na ordem correta e favorável ao cache:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]Compilando e executando
Compile a imagem com uma etiqueta e depois execute-a, mapeando a porta do contêiner para a máquina hospedeira com -p.
# terminal
docker build -t model-api .
docker run -p 8000:8000 model-apiVerificação rápida
Teste seus conhecimentos sobre Docker.
Recapitulação
Você conteinerizou a API: FROM python:3.11-slim, WORKDIR /app, copiou requirements.txt primeiro, executou RUN pip install --no-cache-dir, copiou o código-fonte, adicionou EXPOSE 8000 e um CMD que inicia o uvicorn. Ordenar as etapas para aproveitar o armazenamento das camadas em cache mantém as reconstruções rápidas. Isso conclui o curso de disponibilização com FastAPI e este lote de conteúdo.
Perguntas Frequentes
A aula “Conteinerização da API do modelo” é grátis?
Sim — o texto completo de “Conteinerização da API do modelo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “Conteinerização da API do modelo”?
Dockerfile para FastAPI + modelo, compilações em várias etapas, endpoint de verificação de integridade e docker-compose. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Conteinerização da API do modelo”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Fundamentos de FastAPI para engenheiros de aprendizado de máquina
- Esquemas Pydantic para requisições e respostas
- Carregando e disponibilizando modelos de aprendizado de máquina
- Conteinerização da API do modelo