Here's a few of my favorite Docker commands to use in a self hosted, homelab environment.
There's over 70 Docker commands and several other sub commands but you will most likely only use a handful of these as you tinker about with self hosting on your homelab.
docker stats command will display a live stream of stats for each container that is running on the system. It's almost like an htop for Docker!
Docker System Prune
docker system prune command is essential for those with limited storage. This will remove items that are no longer in use. Items such as images, networks and cache that take up precious space on the system.
docker ps command will display all of the running containers on the system. Docker has used the naming convention of ps from Linux; ps means 'process status' in Linux, and containers are actually running as a process on the Linux server so that's why
docker ps is used to list the containers. You can also use
docker ps -a to list both running and stopped containers where -a means all.
SSH into Docker Containers
docker exec -it containername /bin/bash command allows you to SSH into a container. Here, you can execute pretty much any Linux command. For example, you can execute the
top command. This command shows information about the running system processes and performance. You may also encounter Docker images that require DB migrations that utilize this command.
docker logs containerID --tail 50 --follow command will show you the logs of the container from the last 50 lines then continue to feed the logs live in the terminal.
--follow flag tells the command to coninue piping the logs live in the terminal.
Here are a few examples without the
Display the 100 most recent log lines
docker logs containerID --tail 100
Display log lines written in the past hour
docker logs containerID --since 1h
Display up to 100 log lines written in the past hour
docker logs containerID --tail 100 --since 1h
docker rm command is useful for removing containers when you need to update a container with a new image. For example,
docker stop portainer then
docker rm portainer will stop the Portainer container then remove it. Then I can install the latest version of Portainer on the system.
Final Notes and Thoughts
I highly recommend reading more about Docker commands to teach yourself more about how Docker works. You can see the complete CLI Docker command list on the Docker docs website here.
Let us know your favorite commands and how you use them in the comments below!