Now that you’ve installed Docker and learned it’s basic commands, it’s time to try out some Docker utilities to make managing your Docker environment a little bit easier. These 6 utilities, aim to help you control, monitor and/or manage your docker host.
Ctop is a command line utility that serves as a process and resource monitor similar to the
top command on a Linux machine. It is similar to the
docker stats command as it displays resource usage for each of the running containers on your docker host machine.
In addition to showing an overview of the resource utilization of all of your running containers, ctop also allows you to “zoom in” and CPU, memory, and network utilization of any of your specific containers.
Installation of ctop is as simple as running the following commands on a Linux machine:
sudo wget https://github.com/bcicen/ctop/releases/download/v0.7.3/ctop-0.7.3-linux-amd64 -O /usr/local/bin/ctop sudo chmod +x /usr/local/bin/ctop
or the following commands on a machine running OS/X:
sudo curl -Lo /usr/local/bin/ctop https://github.com/bcicen/ctop/releases/download/v0.7.3/ctop-0.7.3-darwin-amd64 sudo chmod +x /usr/local/bin/ctop
ctop is also available to run as a docker container by running the following
docker run command.
docker run --rm -ti \ --name=ctop \ --volume /var/run/docker.sock:/var/run/docker.sock:ro \ quay.io/vektorlab/ctop:latest
Portainer is an open-source application that provides a web based interface that you can use to manage your Docker host. It allows you to complete all of the basic function of managing your containers without having to use the command line interface. Portainer allows you to create and manage containers, images, volumes, and networks. You can even manage your Docker swarm.
Portainer runs inside a Docker container. You can simply run the following
docker run command to get it up and running, or you visit the guide on How to Install and Configure Portainer.
docker run -d \ -p 8000:8000 \ -p 9000:9000 \ --name=portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer
Once you get Portianer up and running, you can also view the Huge Guide to Portainer for Beginners to help get you started.
Watchtower is a docker container that keeps an eye on the registry for new versions of your running containers. When it detects an updated container, it pulls the new image from the registry and then stops the old container, and starts a new container with the new image. It even manages to maintain all of your original variables in the process! Watchtower is a fantastic way to keep all of your docker containers/applications updated to the latest version. You can use the
docker run command below to start a Watchtower container, or you can view the detailed guide on Watchtower.
docker run -d \ --name watchtower \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower
Dockly is a Docker host management system, similar to Portainer, that operates within your terminal. The interface shows your containers and displays a nice log output of the container right on the home screen. It can even be used to view and manage a Docker swarm. You can start the Dockly application as a Docker container by using the
docker run command below:
docker run \ -it --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ lirantal/dockl
In addition, you can install the software directly on your Docker host system by running the following command:
npm install -g dockly
Dozzle is a simple, lightweight application that provides you with a web based interface to monitor your Docker container logs live. It doesn’t store log information, it is for live monitoring of your container logs only. You can use the below
docker run command to get it up and running.
docker run -d \ --name dozzle \ --volume=/var/run/docker.sock:/var/run/docker.sock \ -p 8888:8080 \ amir20/dozzle:latest
6. Nginx Proxy Manager
Nginx Proxy Manager is a front-end for the Nginx platform that serves as a reverse proxy manager for your docker setup. Nginx Proxy Manager makes setting up a reverse proxy on your network dead simple. It has built in support for Let’s Encrypt SSL certificates and lets you manage them all via a very modern web based interface. This container is best installed via Docker Compose. Detailed installation instructions can be found at the Nginx Proxy Manager setup site.
These Docker utilities are a great way to test your skills with Docker and possibly expand your self-hosted setup. They provide alternative ways of managing your setup beyond the typical Docker host setup. If you have any questions or suggestions of docker utilities that can be featured in the future, please leave a comment below.