Docker is a popular tool for containerizing applications and running them in a consistent environment across different platforms. If you have a Python script that you want to run inside a Docker container, you can use a Dockerfile to define the container image and specify the necessary dependencies. In this blog post, we’ll go over the steps to create a Dockerfile that runs a Python script and build a Docker image from it.
👉 Learn how to efficiently manage and consolidate logs across various modules in your Python applications: Multi-Module Logging in Python
Step 1: Create a Python script
First, create a Python script that you want to run inside the Docker container. For this example, let’s create a simple script called hello.py
that prints "Hello, world!" to the console:
print("Hello, world!")
Save this script in a file called hello.py
in a directory of your choice.
Step 2: Create a Dockerfile
Next, create a Dockerfile in the same directory as your Python script. The Dockerfile is a text file that contains the instructions for building a Docker image. Here’s an example Dockerfile that you can use:
# Use an official Python runtime as a parent image
FROM python:3.10-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Run the command to install any necessary dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Run hello.py when the container launches
CMD ["python", "hello.py"]
In this Dockerfile, we’re using the official Python 3.10-slim image as the base image. We’re setting the working directory to /app
, copying the contents of the current directory to /app
, and running the hello.py
script using the CMD
instruction.
Step 3: Build the Docker image
To build the Docker image, run the following command in the same directory as your Dockerfile:
To run the Docker container, use the following command:
docker build -t myapp .
This command builds a Docker image with the name myapp
. The -t
option specifies a tag for the image. The .
at the end of the command specifies that the build context is the current directory.
💡 Speed up your blog creation with DifferAI.
Available for free exclusively on the free and open blogging platform, Differ.
Step 4: Run the Docker container
To run the Docker container, use the following command:
docker run --rm myapp
This command starts a container using the myapp
image and runs the hello.py
script inside the container. The --rm
option tells Docker to automatically remove the container when it exits.
Conclusion
In this blog post, we’ve shown you how to run a Python script inside a Docker container. By creating a Dockerfile that specifies the necessary dependencies and instructions for running the script, you can easily containerize your Python applications and run them in a consistent environment. This can be especially useful if you need to run your application on different platforms or share it with others.
Thank you for reading :)