Docker Commands Cheat Sheet

Docker is an amazing tool that simplifies the deployment process of software applications in containers. Containers allow a developer to package up an application with all the parts it needs, including libraries and other dependencies, and ship it all out as one package.

This article provides a comprehensive cheat sheet to Docker commands, explaining what each does. It’s intended to be beginner-friendly, offering newcomers a guide to help them get started.

To learn more about Docker, please check Docker Tutorials page.

Install Docker on EC2 Linux Instance

To install Docker on EC2 Linux machine run these commands one by one.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo yum install docker
sudo service docker start
sudo usermod -a -G docker ec2-user
sudo yum install docker sudo service docker start sudo usermod -a -G docker ec2-user
sudo yum install docker 
sudo service docker start
sudo usermod -a -G docker ec2-user

Note: After running the sudo usermod -a -G docker ec2-user you can re-login to EC2 instance and it will no longer require you to use sudo when running Docker command. 

Start Docker as Service

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo service docker start
sudo service docker start
sudo service docker start

Make Docker Not Require sudo Anymore

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo usermod -a -G docker ec2-user
sudo usermod -a -G docker ec2-user
sudo usermod -a -G docker ec2-user

Note: After running the above command, you need to re-login to EC2 instance and it will no longer require you to use sudo when running Docker command. 

List Currently Running Docker Containers

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker ps –all
docker ps –all
docker ps –all

Start Docker Container

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker start <CONTAINER ID HERE>
docker start <CONTAINER ID HERE>
docker start <CONTAINER ID HERE>

Stop Running Docker Container

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker stop <CONTAINER ID HERE>
docker stop <CONTAINER ID HERE>
docker stop <CONTAINER ID HERE>

Delete Docker Container

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker rm <CONTAINER ID HERE>
docker rm <CONTAINER ID HERE>
docker rm <CONTAINER ID HERE>

Note: To delete a running Docker container, you will need to first stop it. Execute the docker stop <CONTAINER ID> command to first stop running docker container.

List Docker Images on Computer

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker images -a
docker images -a
docker images -a

Remove Docker Image

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker rmi <IMAGE ID HERE>
docker rmi <IMAGE ID HERE>
docker rmi <IMAGE ID HERE>

or

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker rmi -f <IMAGE ID HERE>
docker rmi -f <IMAGE ID HERE>
docker rmi -f <IMAGE ID HERE>

Remove All Docker Images on Computer

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker rmi $(docker images -f dangling=true)
docker rmi $(docker images -f dangling=true)
docker rmi $(docker images -f dangling=true)

Build Docker Image

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker build --tag=<IMAGE TAG NAME> --force-rm=true .
docker build --tag=<IMAGE TAG NAME> --force-rm=true .
docker build --tag=<IMAGE TAG NAME> --force-rm=true .

For example:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker build --tag=albums-microservice --force-rm=true .
docker build --tag=albums-microservice --force-rm=true .
docker build --tag=albums-microservice --force-rm=true .

Run Docker Image in Docker Container

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker run -d <IMAGE NAME>
docker run -d <IMAGE NAME>
docker run -d <IMAGE NAME>

Where -d is used to detach the process so you can continue working with a terminal window and execute other commands.

Check Docker Container Logs

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker logs <CONTAINER ID HERE>
docker logs <CONTAINER ID HERE>
docker logs <CONTAINER ID HERE>

For example:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker logs ceaf9e1ebef5
docker logs ceaf9e1ebef5
docker logs ceaf9e1ebef5

Inspect Docker Container

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker inspect <CONTAINER ID HERE>
docker inspect <CONTAINER ID HERE>
docker inspect <CONTAINER ID HERE>

Execute Commands in Docker Container

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker exec -it <CONTAINER ID HERE> <COMMAND TO RUN>
docker exec -it <CONTAINER ID HERE> <COMMAND TO RUN>
docker exec -it <CONTAINER ID HERE> <COMMAND TO RUN>

For example:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker exec -it 67e36143717b ls
docker exec -it 67e36143717b ls
docker exec -it 67e36143717b ls
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker exec -it 67e36143717b bash
docker exec -it 67e36143717b bash
docker exec -it 67e36143717b bash

Pass Environment Variables

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker run <CONTAINER ID> -e "<ENVIRONMENT VARIABLE NAME>=<VALUE>"
docker run <CONTAINER ID> -e "<ENVIRONMENT VARIABLE NAME>=<VALUE>"
docker run <CONTAINER ID> -e "<ENVIRONMENT VARIABLE NAME>=<VALUE>"

For example:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker run ceaf9e1ebef5 -e "SPRING_PROFILES_ACTIVE=dev" -e "server.port=8080"
docker run ceaf9e1ebef5 -e "SPRING_PROFILES_ACTIVE=dev" -e "server.port=8080"
docker run ceaf9e1ebef5 -e "SPRING_PROFILES_ACTIVE=dev" -e "server.port=8080"

List Docker Networks on Computer

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker network ls
docker network ls
docker network ls

Create Custom Docker Bridge Network

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker network create --driver bridge <NEW NETWORK NAME>
docker network create --driver bridge <NEW NETWORK NAME>
docker network create --driver bridge <NEW NETWORK NAME>

then you can run Docker container in a newly created custom bridge network

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker run <CONTAINER ID > --network <NAME OF CREATED NETWORK>
docker run <CONTAINER ID > --network <NAME OF CREATED NETWORK>
docker run <CONTAINER ID > --network <NAME OF CREATED NETWORK>

Publish Docker Image to Docker Hub

To publish an existing Docker image to a Docker Hub Repository, follow these steps:

  1. Open Browser window and login to docker hub,
  2. Create a new Repository in your Docker Hub account,
  3. Open a Terminal window on your computer and Login to Docker Hub account:
    Plain text
    Copy to clipboard
    Open code in new window
    EnlighterJS 3 Syntax Highlighter
    docker login --username=<DOCKER HUB USER NAME>
    docker login --username=<DOCKER HUB USER NAME>
    docker login --username=<DOCKER HUB USER NAME>
  4. List existing Docker images on your computer and look up Docker image ID of the Image you want to publish on Docker Hub.
    Plain text
    Copy to clipboard
    Open code in new window
    EnlighterJS 3 Syntax Highlighter
    docker images ls
    docker images ls
    docker images ls
  5. Tag Docker image on your computer with a Docker Hub repository name the following way:
    Plain text
    Copy to clipboard
    Open code in new window
    EnlighterJS 3 Syntax Highlighter
    docker tag <CONTAINER ID> <DOCKER HUB USERNAME>/<REPOSITORY NAME>
    docker tag <CONTAINER ID> <DOCKER HUB USERNAME>/<REPOSITORY NAME>
    docker tag <CONTAINER ID> <DOCKER HUB USERNAME>/<REPOSITORY NAME>

    For example:

    Plain text
    Copy to clipboard
    Open code in new window
    EnlighterJS 3 Syntax Highlighter
    docker tag ceaf9e1ebef5 kargopolov/albums-microservice
    docker tag ceaf9e1ebef5 kargopolov/albums-microservice
    docker tag ceaf9e1ebef5 kargopolov/albums-microservice
  1. Push Docker image on your computer to a Docker Hub Repository name:
    Plain text
    Copy to clipboard
    Open code in new window
    EnlighterJS 3 Syntax Highlighter
    docker push <Docker Hub User name>/<Repository name>
    docker push <Docker Hub User name>/<Repository name>
    docker push <Docker Hub User name>/<Repository name>

    For example:

    Plain text
    Copy to clipboard
    Open code in new window
    EnlighterJS 3 Syntax Highlighter
    docker push kargopolov/albums-microservice
    docker push kargopolov/albums-microservice
    docker push kargopolov/albums-microservice

Bind a Directory in Docker Container to a Directory on Host Machine

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker run -d -v esdata1:/usr/share/elasticsearch/data --name elasticsearch --network host docker.elastic.co/elasticsearch/elasticsearch:7.2.0
docker run -d -v esdata1:/usr/share/elasticsearch/data --name elasticsearch --network host docker.elastic.co/elasticsearch/elasticsearch:7.2.0
docker run -d -v esdata1:/usr/share/elasticsearch/data --name elasticsearch --network host docker.elastic.co/elasticsearch/elasticsearch:7.2.0

where:

-v <directory on HOST machine>:<directory in Docker container>

Make Docker Container use Host Network and Avoid Port Binding

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker run <IMAGE ID> --network host
docker run <IMAGE ID> --network host
docker run <IMAGE ID> --network host

To learn more about Docker, check the below list of online video courses that teach Docker.


1 Comment on "Docker Commands Cheat Sheet"

Leave a Reply

Your email address will not be published. Required fields are marked *