DEV Community

Cover image for Docker Cheat-sheet for beginners 🐳

Docker Cheat-sheet for beginners 🐳

keshav Sandhu on September 19, 2024

🔧 Common Docker Commands Start Docker: systemctl start docker # Linux open -a Docker # macOS Enter fullscreen mode ...
Collapse
 
andreitelteu profile image
Andrei Telteu

You can also make a helper script:
New file at the root folder called dc without extension.
Content example. Modify for your needs.

#!/bin/bash
trap "exit" 0
DC="docker compose" # add  `-f docker/compose.yml` if it's in another folder
if [ $# -eq 0 ]; then
    $DC ps -a
elif [ $1 == "up" ]; then
    $DC up -d
elif [ $1 == "nr" ]; then
    if [ $# -gt 1 ]; then
        $DC exec node su node -c "${*:2}"
    else
        $DC exec node su node
    fi
elif [ $1 == "npm" ]; then
    $DC exec node su node -c "npm ${*:2}"
elif [ $1 == "install" ]; then
    $DC exec node su node -c 'npm install'
elif [ $1 == "recreate" ]; then
    $DC up -d --force-recreate ${*:2}
elif [ $1 == "build" ]; then
    $DC up -d --force-recreate --build ${*:2}
else
    $DC $*
fi
Enter fullscreen mode Exit fullscreen mode

Give execute permission with chmod +x ./dc
And now you can run:

  • ./dc to show all containers with status
  • ./dc up to start in detached mode
  • ./dc install to run npm install in the node container as user node
  • ./dc npm install package-name-here to run any npm command inside node container. Works with ./dc npm run start too
  • ./dc nr interactive exec inside node container
  • ./dc nr node index.js run any command inside node container
  • ./dc recreate applies any modifications to docker-compose.yml
  • ./dc recreate node applies modifications to compose, only for node container
  • ./dc build if you have a custom dockerfile, does run dc up with a fresh build.
  • ./dc logs -n 10 -f node - any other docker-compose command works as expected.
Collapse
 
abdullah-dev0 profile image
Abdullah

Adding one more

docker system prune

This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- unused build cache

Collapse
 
jangelodev profile image
João Angelo

Hi keshav Sandhu,
Top, very nice and helpful !
Thanks for sharing.

Collapse
 
orashus profile image
Rash Edmund Jr

Thanks man

Collapse
 
awinooliyo profile image
Erick Otieno Awino

This is incredible.

Collapse
 
prathmeshjagtap profile image
Prathmesh Jagtap

The most used commands in docker.
Thank for Writing.

Collapse
 
vishalvivekm profile image
Vivek Vishal

Thank you @keshav___dev

Collapse
 
aerabi profile image
Mohammad-Ali A'RÂBI

Great read. I would just suggest you to use Compose v2, which is without a hyphen: docker compose up.

Collapse
 
tauksun profile image
tauksun

Recover shrinking disk space on every build :

  1. sudo docker image prune -a ( removes un-used images )
  2. sudo docker buildx prune ( removes image cache, this holds the most space )
Collapse
 
keshav___dev profile image
keshav Sandhu
Collapse
 
gonzalo_marcos_1981 profile image
Gonzalo Marcos • Edited

Super helpful! Thanks!

Collapse
 
ymir profile image
Amir H. Moayeri

Great read, thank you 👍

Collapse
 
nnaemeka_ganyadike_7f29 profile image
Nnaemeka G. Anyadike

Thank. Helpful

Collapse
 
berkaydisli profile image
Berkay

Helpful thank you!

Collapse
 
ishashi profile image
Shashi Varshneya

helpful thanks

Collapse
 
your-ehsan profile image
EHSAN.

This is very helpful 😊

Collapse
 
bhaweshchaudhary profile image
Bhawesh Chaudhary

Very useful. :)

Collapse
 
waseem_shahwaseemshah_0 profile image
Waseem shah Waseem shah

Hamen krna kiah

Collapse
 
dev-sumukha profile image
sumukha sureban

Can I get PDF of this ..?

Collapse
 
henry_johnson profile image
Codelab

Hi there. as a mern stack developer, i launched my first web. Feel free to submit your feedback if it needs improving
codelabs.uz/

Some comments have been hidden by the post's author - find out more