✨Docker Commands Cheat Sheet
Docker Commands Cheat Sheet- A quick reference guide to Docker CLI commands used on a daily basis: usage, examples, snippets and links.
Last updated
Docker Commands Cheat Sheet- A quick reference guide to Docker CLI commands used on a daily basis: usage, examples, snippets and links.
Last updated
In this article I will highlight the 6 key docker commands I use on a daily basis while using Docker in the real world.
By no means is this an extensive list of docker commands. I kept it short on purpose so you could use it as a quick reference guide. I’ve also omitted the topic of building images and the commands that are associated with that.
At the bottom of the page, I’ll also put some good links to other Docker resources I like or frequently use as well as other PagerTree cheat sheet documents. For a full crash course, check out our Learn Docker Series!
Command | Short Description |
---|---|
Command: docker ps
Description: Show running containers.
Official Docs: https://docs.docker.com/engine/reference/commandline/ps/
Normally I will use this command just as often as I use ls
command on a *NIX terminal. It’s especially useful when you first SSH to a machine to check what’s running. It’s also useful during the development and configuration process since you’ll likely have containers stopping/starting/crashing.
Command: docker exec -it <container name> /bin/sh
Description: SSH into a container.
Official Docs: https://docs.docker.com/engine/reference/commandline/exec/
This is probably my 2nd most popular command. Normally I am using this while trying to debug a container and need to shell into the container. Just note the -i
flag means interactive and -t
means TTY (aka a teletype terminal).
Also, you can use any command instead of /bin/sh
; I only put that here because I frequently am SSHing into an alpine image which doesn’t support bash.
Command: docker restart <container name>
Description: Restart a container.
I debated putting this command in here, since I don’t use it all that often, but it’s a nice to have. Great example of when to use this - you change your prometheus configuration and need it to pick up the changes in your config file. You might also use this when resizing a volume.
Other commands you might use often, but I didn’t think were so worthy of their own section are docker start
(see docs) and docker stop
(see docs). You’ll use these commands normally when setting up or testing images and you’ll likely use a lot of flags. I didn’t think they were so applicable because you should honestly be using docker compose or some other orchestration system (like Amazon ECS or Kubernetes) to launch your containers.
Command: docker stats
Description: Display a live stream of running containers usage statistics.
Official Docs: https://docs.docker.com/engine/reference/commandline/stats/
I’m normally using this command when I am trying to figure out optimal soft/hard limits for containers. You might also use this if you are debugging which container is using most of your host’s resources.
Command: docker system df
Description: Display information about disk space being used by your containers.
This one doesn’t come up to often, but it has, especially when you are building lots of images on a box or you are storing lots of data (like prometheus). If you are, you might consider setting up a cron job to prune your images and volumes on a recurring basis.
Command: docker system prune -af
Description: Remove all unused images (dangling and unreferenced), containers, networks, and volumes.
You’ll probably only use this command on a Docker build machine or on your dev box, nevertheless take note, cause you are likely to use it.
Also, just like mentioned above, if this is a build box consider setting up a cron job to prune your images. If you’re a cron syntax noob like me, you might find crontab.guru of use in understanding the syntax and shortcuts for popular time intervals.
VPN - Run an IPsec VPN server. Super useful if you work from cafes like Starbucks.
Prometheus + Grafana Setup - Out of the box Prometheus and Grafana setup. We actually use a fork of this for monitoring the PagerTree platform.
Alpine Image - Slim OS image for Node.js apps in production.
GitLab Runner - A GitLab Runner inside a docker container. We use this at PagerTree to build our images.
Learn Docker Series - A quick and concise overview of all the peices of Docker you need to know.
Docker Crash Course - If you’re new to Docker this is a great crash course. Starts from installing Docker all the way to docker compose. It can be a lot to take in so you might have to read it a couple times.
Deployment Automation with GitLab Runner - Super helpful writeup on setting up the GitLab Runner for your own CI/CD pipeline. Used this tutorial extensively when setting up PagerTree’s CI/CD.
You can download this entire blog article with the "Export as PDF" link in the top right of this page (you might have to be on the desktop version. Additionally, below I've provided some PDFs from the web I have found useful.
docker ps
List running containers
docker exec -it <container name> /bin/sh
SSH into container
docker restart <container name>
Restart a container
docker stats
Show running container stats
docker system df
Check docker daemon disk space usage
docker system prune -af
Remove images, networks, containers, and volumes