Docker - Getting Started with the docker run command

This assumes you have installed Docker on Linux and Docker is running. The docker run command is used to run a command against a container. It's also important to recognize that if there is no container for the application being run, the image will be pulled down and the container will be created. For this reason, before issuing the docker run command, you'll want to use the docker images command to return the list of images, like this.

docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
foo                 latest              105b54dc64f1        32 hours ago        196.7 MB


A Docker image contains the code used to create a Docker container, such as creating a Nginx web server, or a mySQL server, or a home grown app, and the list goes on. In this way, an image is like a template used to create a container. An image is kind of like a virtual machine, but much more light weight, using significantly less storage a memory (containers are usually megabytes in size).


There are various ways to pull down an image:

  • Using the docker pull command (as-is image as-is is pulled down)
  • Using the docker run command (as-is image is pulled down and container is created/started)
  • Using the docker build command (image can be customized)
  • Using the docker stack deploy command (Docker Compose)


And the docker ps command to list the containers.

docker ps -a

CONTAINER ID     IMAGE              COMMAND                 CREATED       STATUS        PORTS     NAMES
d937372c09ab9    b939aa938add9913   "/docker-entrypoin..."  6 minutes ago Up 30 seconds>12345/tcp


In this example, the docker run command is used to pull the hello-world image from Docker hub.

docker run hello-world


Something like this should be returned.

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:5122f6204b6a3596e048758cabba3c46b1c937a46b5be6225b835d091b90e46c
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.
 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:

For more examples and ideas, visit:


The docker images command should show that there is now a hello-world image.

~]# docker images
hello-world   latest    d1165f221234   3 months ago   13.3kB


The --name option can be used to specify the name of the container. In this example, the container will be named foo.

docker run --name foo hello-world


The docker ps command should show that the container is named foo.

~]# docker ps -a
CONTAINER ID   IMAGE         COMMAND    CREATED          STATUS                      PORTS     NAMES
6a55b434f6a3   hello-world   "/hello"   11 seconds ago   Exited (0) 10 seconds ago             foo


Add a Comment

We will never share your name or email with anyone. Enter your email if you would like to be notified when we respond to your comment.

Please enter 5ebed in the box below so that we can be sure you are a human.


Web design by yours truely - me, myself, and I   |   |