Skip to main content

Dockerize Django

This page explains how to Dockerize a simple Django project.

Here's a step-by-step guide on how to Dockerize a Django project:

1. Install Docker: Ensure that Docker is installed on your machine. Download Docker Desktop for Windows or Mac, or install Docker Engine on Linux.

2. Create a Dockerfile: Create a file named Dockerfile in your Django project directory. This file will contain instructions for building your Docker image.

Here's a basic example of a Dockerfile for a Django project:

# Use the official Python image as the base image
FROM python:3.8

# Set the working directory inside the container
WORKDIR /app

# Copy the requirements file to the container
COPY requirements.txt requirements.txt

# Install dependencies
RUN pip install -r requirements.txt

# Copy the rest of the application code to the container
COPY . .

# Specify the command to run your Django app
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

3. Create a requirements.txt: Create a requirements.txt file in your project directory containing your Django application's dependencies. This file is used to install the required Python packages inside the Docker container.

4. Build the Docker Image: Open a terminal and navigate to your project directory containing the Dockerfile and run the following command to build the Docker image:

docker build -t django-app .

Here, django-app is the name you're giving to your Docker image, and . indicates the current directory as the build context.

5. Run the Docker Container: After building the image, you can run a container from it using the following command:

docker run -p 8000:8000 django-app

Here, -p 8000:8000 maps port 8000 from your host machine to port 8000 inside the container.

6. Access Your Django App: Your Django app should now be accessible at http://localhost:8000 in your web browser.

Additional Tips:

  • If your Django app uses environment variables, you can pass them to the Docker container using the -e flag when running the docker run command.
  • For database-related setup, you can include additional commands in the Dockerfile or use Docker Compose to define services like the database and application.

Remember that this is a basic example to get you started. Depending on the complexity of your Django project and its dependencies, you might need to adjust the Dockerfile and configuration accordingly.

Dockerizing your Django project can make deployment more consistent and manageable across different environments.


✅ Resources

  • 👉 Deploy Projects using your preferred provider: AWS, DigitalOcean, Azure, and GCP (soon)
  • 👉 Get Deployment Support from the team behind this service
  • 👉 Join the Community and chat with the team behind DeployPRO