Docker Commands: A Beginner's Guide to Key Commands

Docker has become an essential tool for developers and system administrators due to its ability to package and distribute applications as lightweight containers. With its popularity, it's important to understand the key Docker commands and how they can be utilized effectively. In this article, we will cover the top essential Docker commands that every developer should know. We will provide explanations and code examples to help you grasp the concept easily.


Before diving into the Docker commands, make sure you have Docker installed on your system. You can download and install Docker from their official website based on your operating system. Once installed, open a terminal or command prompt and verify the installation by running the following command:

docker version

If Docker is successfully installed, you will see the version information along with the details about the server and client components.

Now that Docker is up and running, let's explore the essential commands.

docker run

The docker run command is used to create and start a new container based on a specific image. It pulls the image from the Docker registry if it is not already available locally, creates a new container, and then starts it.


docker run [options] image [command] [args]


docker run -it ubuntu:latest bash

In this example, the docker run command creates and starts a new container using the latest version of the Ubuntu image, and runs the bash command inside the container.

docker pull

The docker pull command is used to download Docker images from a registry to your local machine. It is typically the first step before running a container.


docker pull image


docker pull nginx:latest

In this example, the docker pull command downloads the latest version of the Nginx image from the Docker registry to the local machine.

docker ps

The docker ps command is used to list running containers. It shows detailed information about each container, such as the container ID, image, status, ports, and names.


docker ps [options]


docker ps

Running this command will display a list of all running containers along with their details.

docker stop

The docker stop command is used to stop one or more running containers. It sends a SIGTERM signal to the main process running inside the container, allowing it to gracefully shut down.


docker stop [options] container


docker stop my-container

In this example, the docker stop command stops the container with the name my-container.

docker rm

The docker rm command is used to remove one or more stopped containers from the local machine. It's important to note that you cannot remove running containers; you need to stop them first using the docker stop command.


docker rm [options] container


docker rm my-container

In this example, the docker rm command removes the container with the name my-container from the local machine.

docker images

The docker images command is used to list all the Docker images available on the local machine. It shows details such as the repository, tag, image ID, and size.


docker images [options]


docker images

The output of this command will display a table with information about all the images available on the local machine.

docker rmi

The docker rmi command allows you to remove one or more Docker images from the local machine. You need to provide either the image name or image ID as an argument.


docker rmi [options] image


docker rmi nginx:latest

In this example, the docker rmi command removes the Nginx image with the latest tag from the local machine.

docker exec

The docker exec command allows you to run a command inside a running container. It is useful when you want to execute a command in a container that is already running.


docker exec [options] container command


docker exec -it my-container ls

In this example, the docker exec command runs the ls command inside the container with the name my-container and displays the directory listing.

docker build

The docker build command is used to build a Docker image from a specified Dockerfile. The Dockerfile contains a set of instructions to assemble the image layer by layer.


docker build [options] path


## Dockerfile
FROM ubuntu:latest
RUN apt-get update && apt-get install -y nginx
CMD ["nginx", "-g", "daemon off;"]

docker build -t my-nginx .

In this example, the docker build command builds a Docker image based on the Dockerfile in the current directory. It installs Nginx and sets it up as the default command to run when a container is created from this image. The -t flag specifies the name and tag for the image.

docker-compose up

The docker-compose up command is used to start the containers defined in a Docker Compose file. Docker Compose is a tool for defining and running multi-container Docker applications.


docker-compose up [options]


# docker-compose.yml
version: '3'
    image: mysql:latest
      - MYSQL_ROOT_PASSWORD=secret
    build: .
      - "8080:80"
      - db

docker-compose up

In this example, the docker-compose up command starts two containers: one for a MySQL database and another for an application built from the current directory. The depends_on option ensures that the database container is started before the application container.


In this article, we covered the top essential Docker commands that every developer should know. We explored commands such as docker run, docker pull, docker ps, docker stop, docker rm, docker images, docker rmi, docker exec, docker build, and docker-compose up. Understanding these commands is crucial for efficiently working with Docker containers.

These are just a few of the most essential Docker commands. There are many other commands available, but these are a good starting point for learning how to use Docker.

Additional Resources:


🌻 Latest Blog Posts: Stay Informed and Inspired

Explore the latest and greatest from our blog! Dive into a diverse range of topics, from insightful analysis to captivating stories. Discover new perspectives, expand your knowledge, and be entertained by our engaging writing. Whether you're seeking practical advice, thought-provoking ideas, or simply a good read, our latest blog posts have something for everyone. So, grab your favorite beverage, settle in, and embark on a journey of intellectual exploration.

Google's E-A-T Guidelines: Ensuring Your Website's Success in SEO

Discover the importance of Google's E-A-T guidelines for SEO success. Learn how to optimize your website's expertise, authority, and trustworthiness to rank higher in search results.

Exploring Differents Java Loops: While, For, Do-While, and for-each

Learn about the different types of Java loops, including while, for, do-while, and enhanced for loops. Explore code examples and improve your Java programming skills.

Polymorphism in Java: A Comprehensive Guide

Java polymorphism! This beginner-friendly guide breaks down inheritance, interfaces, method overloading, and method overriding for clear understanding with examples.

Spring Boot Basic Authentication: A Comprehensive Guide

Explore the comprehensive guide on Spring Boot Basic Authentication. Learn how to set up and implement secure basic authentication in your Spring Boot application.