Docker provides the capability to package and run an application in a loosely isolated environment...
Dockerprovides the capability to package and run an application in a loosely isolated environment called acontainer. 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 :
git clone https://github.com/itsvinayak/blockchain.git
Installing Docker in Ubuntu (linux)
sudo apt-get update -y
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release -y
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
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
systemctl start docker
systemctl enable docker
docker --version
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"]
Building Docker Image
sudo docker build --tag blockchain .
Here--tagname and optionally a tag in the 'name:tag' format.
Running Docker Image
sudo docker image ls
sudo docker run -d -p 8080:8080 blockchain
Server in now running at proof at port 8080.
Stopping docker image
sudo docker container ls
sudo docker container stop a2115d1010b5
Where a2115d1010b5is running container id