As applications become more complex, it can be challenging to ensure they run consistently across different environments. This is where Docker comes in. Docker is an open-source containerization platform that enables developers to package and run their applications in isolated containers. In this article, we will explore how to Dockerize a Python application.
Prerequisites
Before we begin, ensure that you have the following installed:- Docker
- Python
Create a Python Application
We will start by creating a simple Python application. In your terminal or command prompt, create a new directory and navigate into it. Then, create a new file calledapp.py
. Copy and paste the following code into app.py
.from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
This creates a Flask application with a single route that returns "Hello, World!".
Create a Dockerfile
To Dockerize the application, we need to create a Dockerfile. A Dockerfile is a text file that contains instructions on how to build a Docker image.Create a new file in the same directory as app.py
called Dockerfile
. Copy and paste the following code into Dockerfile
.
FROM python:3.9
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]
This Dockerfile starts with a base image that contains Python 3.9. It then sets the working directory to /app
, copies requirements.txt
into the container, installs the requirements using pip, copies the current directory into the container, and sets the command to run app.py
.
Create a requirements.txt File
We also need to create arequirements.txt
file to specify the dependencies for our application. Create a new file called requirements.txt
in the same directory as app.py
. Copy and paste the following code into requirements.txt
.Flask==2.0.1
This file specifies that we need Flask version 2.0.1.
Build the Docker Image
Now that we have our application code and Dockerfile, we can build the Docker image. In your terminal or command prompt, navigate to the directory containingapp.py
, Dockerfile
, and requirements.txt
. Run the following command to build the Docker image.docker build -t my-python-app .
This command tells Docker to build a new image with the tag my-python-app
using the current directory (.
) as the build context.
Run the Docker Container
Now that we have built our Docker image, we can run the container. In your terminal or command prompt, run the following command to start a new container.docker run -p 5000:5000 my-python-app
This command starts a new container using the my-python-app
image and maps port 5000 on the host to port 5000 in the container.
Test the Application
Open your web browser and navigate tohttp://localhost:5000
. You should see the message "Hello, World!" displayed on the page.Congratulations, you have Dockerized your Python application!
Docker provides a simple and consistent way to package and run applications. In this article, we have explored how to Dockerize a Python application using Dockerfiles and Docker images. By following these steps, you can ensure that your Python application runs consistently across different environments.
Related Searches and Questions asked:
That's it for this post. Keep practicing and have fun. Leave your comments if any.
0 Comments