DEV Community

vinayak
vinayak

Posted on • Originally published at itsvinayak.hashnode.dev on

1 1 1 1 1

Dockerizing Python Application

Docker provides the capability to package and run an application in a loosely isolated environment called a container. It is an open platform for developing, shipping, and running applications.

In this article, we will demonstrate, how to dockerize a python flask app. For this purpose, we will use our blockchain project.

Get the Application

For running Application we need to follow certain step :

  • clone the repository from github
git clone https://github.com/itsvinayak/blockchain.git

Enter fullscreen mode Exit fullscreen mode
  • View the contents of the cloned repository 🗂

Installing Docker in Ubuntu (linux)

sudo apt-get update -y


sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release -y

Enter fullscreen mode Exit fullscreen mode

Adding gpg " GnuPrivacy Guard" key

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Enter fullscreen mode Exit fullscreen mode

Adding APT Sources

sudo echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


sudo apt-get update -y && sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Enter fullscreen mode Exit fullscreen mode

Starting docker

systemctl start docker
systemctl enable docker
docker --version

Enter fullscreen mode Exit fullscreen mode

Writing Docker File

In this project, We will create a docker file with name Dockerfile.

FROM python
LABEL maintainer="vinayak"
LABEL version="1.0"
LABEL description="This is a blockchain implementation in python"
LABEL website="https://github.com/itsvinayak/blockchain"
LABEL email="itssvinayak@gmail.com"
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
EXPOSE 8080 
CMD ["python", "server.py"]

Enter fullscreen mode Exit fullscreen mode

Building Docker Image

sudo docker build --tag blockchain .

Enter fullscreen mode Exit fullscreen mode

Here --tag name and optionally a tag in the 'name:tag' format.

Running Docker Image

Listing all images

sudo docker image ls

Enter fullscreen mode Exit fullscreen mode


sudo docker run -d -p 8080:8080 blockchain

Enter fullscreen mode Exit fullscreen mode

Server in now running at proof at port 8080.

Stopping docker image

listing running docker container

sudo docker container ls

Enter fullscreen mode Exit fullscreen mode

Stopping running container

sudo docker container stop a2115d1010b5

Enter fullscreen mode Exit fullscreen mode

Where a2115d1010b5 is running container id

All codes with docker files are present on GitHub

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)