In this blog we’ll try to understand one of the most popular tools used to containerize and deploy applications over the internet i.e. Docker. It makes deploying applications extremely simple.
We will try to look at the things that make Docker so special and learn how you can build, deploy, and fetch applications using Docker & Docker Hub using just a few steps.
1. Docker Containers:
2. Virtual Machines:
1. Docker Image:
2. Docker Container:
3. Docker file:
4. Docker Engine:
5. Docker Hub:
1. Remove old version of Docker
$ sudo apt-get remove docker docker-engine docker.io containerd runc
2. Installing Docker Engine
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable nightly test"
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io// Check if docker is successfully installed in your system
$ sudo docker run hello-world
1. Create a folder with 2 files (Dockerfile and main.py file) in it.
.
├── Dockerfile
└── main.py 0 directories, 2 files
2. Edit main.py with the below code.
#!/usr/bin/env python3
print(“Docker is magic!”)
3. Edit Dockerfile with the below commands.
FROM python:latest
COPY main.py /
CMD [ “python”, “./main.py” ]
4. Create the Docker image.
Once you have created and edited the main.py file and the Dockerfile, create your image to contain your application.
$ docker build -t python-test .
The ’-t’ option allows to define the name of your image.
’python-test’ is the name we have choosen for the image.
5. Run the Docker image
Once the image is created, your code is ready to launch.
$ docker run python-test
1. Create an Account on Docker Hub.
2. Click on “Create Repository” button, put the name of file and click on “Create”.
3. Now will “tag our image” and “push it to the Docker Hub repository” which we just created.
# Run this commend to list docker images
$ docker images
The above will give us this result
REPOSITORY TAG IMAGE ID CREATED SIZE
afrozchakure/python-test latest c7857f97ebbd 2 hours ago 933MB
Image ID is used to tag the image. The syntax to tag the image is:
docker tag <image-id> <your dockerhub username>/python-test:latest
$ docker tag c7857f97ebbd afrozchakure/python-test:latest
4. Push image to Docker Hub repository
$ docker push afrozchakure/python-test
1. To remove all versions of a particular image from our local system, we use the Image ID for it.
$ docker rmi -f af939ee31fdc
2. Now run the image, it will fetches the image from docker hub if it doesn’t exist on your local machine.
$ docker run afrozchakure/python-test
So you have learnt about the basics of Docker, the difference between Virtual Machines and Docker Containers along with some common Terminologies in Docker.
Also we went through the installation of Docker on our systems. We created an application using Docker and pushed our image to Docker Hub.
Lastly we learned how we could remove a particular image from our local system and later pull the image from Docker Hub if it doesn’t exist locally.