Dockerfile for a Python application
Create a Dockerfile for a Python app: Define dependencies, set up the environment, and containerize your Python application for easy deployment.
Published Sep 22, 2024
Let’s create a simple Dockerfile for a Python application. This example assumes you have a Python script named
app.py
and a requirements.txt
file containing the dependencies for your application.- Open a terminal.
- Navigate to the directory where you want to create or edit the Dockerfile.
- Type
vi Dockerfile
and press Enter. This will open thevi
editor with a new file namedDockerfile
. - Press
i
to enter insert mode. You can now start typing your Dockerfile contents. - Once you’re done editing, press
Esc
to exit insert mode. - Type
:wq
and press Enter to save the changes and exitvi
. If you want to exit without saving, type:q!
and press Enter
In this Dockerfile:
- We’re using the official Python Docker image with version 3.9 (specifically, the slim variant, which is smaller).
- We set the working directory inside the container to
/app
. - We copy the current directory (where your
app.py
andrequirements.txt
files should reside) into the container at/app
. - We install the Python dependencies specified in
requirements.txt
. - We expose port 8080 to allow communication with the container.
- We set an environment variable
NAME
to "World" (you can change this as needed). - Finally, we specify that the command to run when the container starts is
python
app.py
.
To build an image using this Dockerfile, navigate to the directory containing the Dockerfile and run:
Replace
my-python-app
with the desired name for your Docker image.After building the image, you can run a container from it using:
This command runs a container based on your Docker image, forwarding port 8080 from the container to port 8080 on your host machine. Adjust the port mapping as needed based on your application’s requirements.