So let's get started with docker with a simple hello world example.

Open up your terminal and run the following command:

docker run hello-world

This command results in the following:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

And as you can see, docker is nice enough to explain what happened here behind the scenes.

  • The Docker client contacted the Docker daemon
  • The Docker daemon pulled the “hello-world” image from the Docker Hub. (amd64)
  • The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
  • The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

We’ve explained this process in the previous articles “Understanding Docker” & “Understanding Docker Daemon

For instance, as a pro tip, you can roll-up a simple ubuntu container likeso,

docker run -it alpine sh

You may also Like