In the first part of the series, we learned – what is docker and familiarised ourselves with docker terminology. We also saw why docker is useful for developers. Now, let’s get started by creating our first application.
Installing Docker
We need to have docker installed and running on our system to get started. You can install it from here: Get Docker
I am using the Docker Desktop for Mac but the OS should definitely not matter 🙂
Once Docker is installed and running on your system, we can test if it’s up by using the following easy command.
docker version
This would provide you with detailed information about the docker version installed in your system.

Pulling an Image from DockerHub
Go to your terminal and type in the command
docker pull hello-world
and it would return something like this

So what happened?
When we told Docker to pull ‘hello-world’, the Docker client connected the Docker daemon (also called as the Docker server) which in turned contacted the DockerHub.
DockerHub is a centralised repository for finding and sharing container and images.
It then searched if it contained any library named ‘hello-world’. It was able to find it.
It then took the latest version of ‘hello-world’ and downloaded it into our system, also creating a unique id for it.
We now have our first image. The following command would list down all the images you have downloaded in the system.
docker images

I have one image called ‘hello-world’ and can see all its details. It has its unique image id and is 13.3 kb in size. Pretty neat.
Running a container
Let’s try running this image as a container. Use this command in the terminal
docker run hello-world

This turned our image into an executable container and we have an output. We created our first hello-world application on Docker!
You can see all the running containers by this command
docker ps

What? This list is blank. This is because a when you use docker run, the container exits as soon as the program inside it terminates. In this case, the container only had one task – to output the text. It did that task and exited, so we have no running containers at the moment. You can use other commands to manually start or stop conatiners but we will get to it in the next post.
You can see a list of containers despite its running states by
docker ps -a

There it is – our container id, the image with which it is associated and status which shows it has been exited a minute ago.
Wrap-Up
In this post, we installed Docker, pulled an image from the DockerHub and run our first container. This was easy, isn’t it? Now let’s move on to creating our own image and uploading it onto DockerHub.
Please subscribe, you’ll only be notified of new posts 🙂