Escrevendo um Dockerfile para Django
Crie uma imagem enxuta em camadas para sua aplicação
Escrevendo um Dockerfile para Django é uma aula grátis de Django Academy no CoddyKit. Esta é a aula 1 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 Django Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Django Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Why a Dockerfile
A Dockerfile is a recipe that builds your app into a portable image, so it runs the same on your laptop and any server. 🐳
Pick a Base Image
Start every Dockerfile with FROM, choosing a slim Python base so your image stays small and fast to ship.
FROM python:3.12-slimSet the Work Directory
Use WORKDIR to set the folder where your code lives, so later commands run from a clean, predictable place.
WORKDIR /appTame Python Output
Two ENV flags help in containers: unbuffered logs and no .pyc files, keeping output instant and images tidy.
ENV PYTHONUNBUFFERED=1 PYTHONDONTWRITEBYTECODE=1Copy Requirements First
Copy requirements.txt before your code. Docker caches this layer, so installs are skipped when only your code changes.
COPY requirements.txt .Install Dependencies
Run pip install with --no-cache-dir so the package cache never bloats your final image.
RUN pip install --no-cache-dir -r requirements.txtCopy Your Project
Now COPY the rest of your project in. Doing this after the install keeps the cached dependency layer reusable.
COPY . .Expose the Port
Use EXPOSE to document the port your app listens on. It is a hint to readers and tools, not a firewall.
EXPOSE 8000Define the Start Command
End with CMD, the default command that launches your app when the container starts.
CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000"]Add a .dockerignore
A .dockerignore keeps junk like venvs and .git out of the build context, making builds faster and images leaner.
.git
__pycache__
.venv
*.sqlite3Build Your Image
Run docker build with a tag to turn your Dockerfile into a reusable, named image you can run anywhere.
docker build -t myapp:latest .Quick Check
Think about Docker's layer cache and build order.
Recap
You built a Django Dockerfile: pick a slim base, set env, install deps before code for caching, then define CMD. One recipe, runs anywhere. 🎉
Aprenda Python com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “Escrevendo um Dockerfile para Django” é grátis?
Sim — o texto completo de “Escrevendo um Dockerfile para Django” é 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 Django Academy, atualize para CoddyKit PRO. O curso de Django Academy inclui 4 aulas no total.
O que vou aprender em “Escrevendo um Dockerfile para Django”?
Crie uma imagem enxuta em camadas para sua aplicação Você pratica Django Academy 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 Django Academy?
Nenhuma experiência prévia é necessária. Django Academy 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 1 de 4.
Quanto tempo leva a aula “Escrevendo um Dockerfile para Django”?
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 Django Academy?
Sim. Cada aula de Django Academy 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
- Escrevendo um Dockerfile para Django
- docker-compose com Postgres e Redis
- Pontos de entrada, migrações e collectstatic
- Boas práticas para imagens de produção