In this Docker tutorial, we learn how to build a docker image with a Python application. We have a step by step process to create a Python application, create docker file with this Python application, build a docker image, and then check the docker image.
Build Docker Image with Python Application
We shall learn to build a docker image with python application, and save the docker image to a file for usage in different computer.
Build Docker Image with Python Application
1. Create a directory
A separate directory is useful to organise docker applications. For this Python Example, create a directory somewhere with name of your choice. We shall use the name python-application
2. Create Python Application
Create a simple Python File, in the directory python-application, with name PythonExample.py containing the following content :
print("HelloWorld from Python Applicaiton in Docker")
Reference – Python Tutorial.
3. Create Dockerfile
Create a file with name Dockerfile. Dockerfile contains instructions to prepare Docker image with our Python Application.
Following is the content of Dockerfile.
FROM python
COPY . /src
CMD ["python", "/src/PythonExample.py"]
4. Build Docker Image
Run the following command in Terminal, from python-application directory, to create Docker Image with Python Application.
$ docker build -t python-application .
root@arjun-VPCEH26EN:/home/arjun/workspace/docker/python-application# docker build -t python-application .
Sending build context to Docker daemon 3.072kB
Step 1/3 : FROM python
latest: Pulling from library/python
aa18ad1a0d33: Pull complete
15a33158a136: Pull complete
f67323742a64: Pull complete
c4b45e832c38: Pull complete
b71152c33fd2: Pull complete
d8eff2a5d585: Pull complete
f80b3bd3dbda: Pull complete
e5b3e7f65920: Pull complete
Digest: sha256:2cbebfb9309a8b7b31c2fea8813436e297855f91cedd9cc28582678da905e5e0
Status: Downloaded newer image for python:latest
---> 26acbad26a2c
Step 2/3 : COPY . /src
---> 702fd061cbd3
Removing intermediate container f9a28d25df1e
Step 3/3 : CMD python /src/index.py
---> Running in 4e9ad3906a79
---> 71deae3e7961
Removing intermediate container 4e9ad3906a79
Successfully built 71deae3e7961
Successfully tagged python-application:latest
root@arjun-VPCEH26EN:/home/arjun/workspace/docker/python-application#
Docker image with python application is created successfully.
5. Check the docker image
To display available docker images, run the following command.
$ docker images
root@arjun-VPCEH26EN:/home/arjun/workspace/docker/python-application# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
python-application latest 71deae3e7961 41 minutes ago 690MB
<none> <none> ce17e2d430ef 29 hours ago 643MB
python latest 26acbad26a2c 4 days ago 690MB
java 8 d23bdf5b1b1b 8 months ago 643MB
hello-world latest c54a2cc56cbb 14 months ago 1.85kB
docker/whalesay latest 6b362a9f73eb 2 years ago 247MB
root@arjun-VPCEH26EN:/home/arjun/workspace/docker/python-application#
6. Run Docker Image with Python Application
root@arjun-VPCEH26EN:/home/arjun/workspace/docker/python-application# docker run python-application
HelloWorld from Python Applicaiton in Docker
root@arjun-VPCEH26EN:/home/arjun/workspace/docker/python-application#
7. Save Docker Image to a tar file
Save the Docker Image file to a tar file, so that the image file could be copied to other machines through disk storage devices like pen-drive, etc.
Run the following command to save Docker image as a tar file.
$ docker save -o /home/arjun/workspace/docker/python-application.tar python-application
Saving might take few seconds. Wait for the command to complete.
root@arjun-VPCEH26EN:/home/arjun/workspace/docker# ls
java-application python-application python-application.tar
root@arjun-VPCEH26EN:/home/arjun/workspace/docker#
Now you may copy or ship the Docker Image file that is having Python Application.
Conclusion
In this Docker Tutorial – Docker Python Application Example, we have learnt to build a Docker Image with Python Application and also how to save the image to a file and transfer it to other computers or servers.