What is Doku?
Doku is a simple, lightweight web-based application that allows you to monitor Docker disk usage in a user-friendly manner. The Doku displays the amount of disk space used by the Docker daemon, splits by images, containers, volumes, and builder cache. If you're lucky, you'll also see the sizes of log files.
The simplest way to use Doku is to run the Docker container. Mount the Docker Unix socket with
/var/run/docker.sock. Also, you need to mount the top-level directory (
/) on the host machine in
ro mode. Otherwise, Doku will not be able to calculate the size of the logs and bind mounts.
Run Doku with Docker
docker run --name doku -d -v /var/run/docker.sock:/var/run/docker.sock:ro -v /:/hostroot:ro -p 9090:9090 amerkurev/doku
Doku Views and Pages
Here is a glance at what each page looks like and the information given for my Docker test lab.
As you can see in the images above, it looks like I could use a unused image prune (
docker prune) to clear up some space. It adds up quick, especially when you are always testing multiple Docker images like I do.
The main dashboard shows a clear display of the total disk space being used between all of your containers. Then proceeding with a chart showing all of the images and how much space each one is using.
Final Notes and Thoughts
While there are many terminal based monitoring tools for Docker such as ctop or even the built in Docker command
docker stats, I don't know of any that specifically focus on Docker disk usage other than Doku so this was a cool find!
Doku is not proprietary, however, it does offer an "at a glance" view of your Docker disk usage in a nice, simple web ui making it easy to see what's eating all of your space. Maybe it will remind you to do an unused image prune to clear up some space!
If you find Doku useful, be sure to give it a star on the Doku Github repo!