Hello readers. This blog will show you how to get started with dockerize a Django application. Before you start, you need to have docker and Django installed and configured on your computer.
What is Docker?
Docker is a software platform that allows you to quickly build, test, and deploy applications. Docker packages the software into standardized units called containers. For instance, this unit contains everything you need to run your software, including libraries, system tools, code, and runtimes. With Docker, you can quickly deploy and scale your application to any environment while making sure your code is running.
With Docker, you can save money by speeding up code shipments, standardizing application operations, moving code seamlessly, and improving resource utilization. With Docker, so you can get a single object that you can reliably run anywhere. Docker’s simple and straightforward syntax gives you complete control.
What is Django?
Django is a high-level Python web framework that enables the rapid development of secure and maintainable websites. Built by experienced developers, Django handles much of your web development so you can focus on creating your app without having to reinvent the wheel.
Let’s create a new Django application:
django-admin startproject demoproject
Navigate to the demoproject directory:
We need to create a Dockerfile by which docker can use to build the container image
FROM ubuntu:20.04 RUN apt-get update && apt-get install -y tzdata && apt install -y python3.8 python3-pip RUN apt install python3-dev libpq-dev nginx -y RUN pip install django gunicorn psycopg2 ADD . /app WORKDIR /app EXPOSE 8000 CMD ["gunicorn", "--bind", ":8000", "--workers", "3", "demoproject.wsgi"]
Now, Let’s build our image using Docker build
docker build -t demoproject .
We named the image demoproject the usage of the -t flag and pass withinside the contemporary listing as a construct context, the set of documents to reference whilst containerize the image.
After Docker build the image, list available images using
With the container built and configured, use
docker run to override the
CMD set in the Dockerfile and create the database schema using the
manage.py makemigrations and
manage.py migrate commands
docker run -i -t demoproject sh
This provides a shell prompt to run a command inside the container
#python3 manage.py makemigrations && python3 manage.py migrate
This indicates that the database schema was created successfully.
#python3 manage.py createsuperuser
Enter the superuser username, email address, and password to create the superuser, then press CTRL + D to exit the container.
Now run our docker container.
docker run -p 80:8000 demoproject
http://localhost to see the djangoapp:
As a result, When the search is finished, then press CTRL + C in the terminal window where the Docker container is running to kill the container.
In this blog, we have dockerized a django application.