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

Anusha Kuppili @anusha_kuppili

About: 👩‍💻 DevOps & Cloud Enthusiast | Passionate about Containerization, MLOps & Full-Stack Projects | Sharing What I Learn | Creator @ Data Enthusiast Era 🎥

Location:
India
Joined:
Jul 7, 2025

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

Publish Date: Jul 10
0 0

🐳 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 App

Comments 0 total

    Add comment