DEV Community

Cover image for How to Dockerize a Django App (Even If You’re New to Django or Docker)
Anusha Kuppili
Anusha Kuppili

Posted on

How to Dockerize a Django App (Even If You’re New to Django or Docker)

🐳 How to Dockerize a Django App (Even If You’re New to Django or Docker)

“Docker + Django = too complex?”

Nope — not when broken down into easy steps. Here’s your friendly guide to build your app and run it in Docker.


🚀 What You’ll Learn

  • Create a basic Django app from scratch
  • Write a Dockerfile (no mystery!)
  • Use Docker Compose for simplicity
  • Run your Django app inside Docker — on Windows or Mac/Linux

🧱 Step 1: Create Your Django App

Open your terminal and type:

mkdir docker_django_demo cd docker_django_demo # Set up a virtual environment python -m venv venv # On Windows: venv\Scripts\activate # On Mac/Linux: # source venv/bin/activate # Install Django pip install django # Start a Django project in the current folder django-admin startproject mysite . 
Enter fullscreen mode Exit fullscreen mode

Then test it:

python manage.py runserver 
Enter fullscreen mode Exit fullscreen mode

Go to http://127.0.0.1:8000 — you should see the Django welcome page! 🎉

📦 Step 2: Save Your Dependencies

pip freeze > requirements.txt 
Enter fullscreen mode Exit fullscreen mode

This file ensures Docker will install exactly what you need.

🐳 Step 3: Create Your Dockerfile
Create a file named Dockerfile in the same folder:

FROM python:3.11-slim # Avoids writing .pyc files and Python buffering ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 WORKDIR /app # Copy and install dependencies COPY requirements.txt /app/ RUN pip install --no-cache-dir -r requirements.txt # Copy the Django project files COPY . /app/ # Expose port 8000 inside Docker EXPOSE 8000 # Command to run Django server CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] 
Enter fullscreen mode Exit fullscreen mode

🧬 Step 4: Add Docker Compose
Create docker-compose.yml:

version: '3.9' services: web: build: . ports: - "8000:8000" 
Enter fullscreen mode Exit fullscreen mode

✅ Tip (Windows users): Leave out volumes: to avoid file-mounting issues.

🛠️ Step 5: Build & Run with Docker
Build the image

docker-compose build 
Enter fullscreen mode Exit fullscreen mode

➡️ This reads the Dockerfile and packages your app.

Start the container

docker-compose up 
Enter fullscreen mode Exit fullscreen mode

Now head to http://localhost:8000 — your Django app is running inside Docker!

🧽 Step 6: Stop the Container

docker-compose down 
Enter fullscreen mode Exit fullscreen mode

This cleans up the running container when you're done.

🧠 Bonus Tips
Use a .dockerignore file to skip unnecessary files (e.g. venv/, pycache/)

Consider using .env files for secret keys and environment configs

🎉 Final Thoughts
Congratulations! You’ve successfully containerized a Django app — portable, consistent, and ready to run anywhere.

If this helped, leave a comment or reaction below.

✍️ Written by Anusha Kuppili
📺 Also explained in my YouTube video: Dockerize Django in 5 minutes!

Top comments (0)