Dry is a terminal application to manage Docker containers and images. It aims to be an alternative to the official Docker CLI when it is needed to repeatedly execute commands on existing containers and images, and also as a tool to monitor Docker containers from a terminal. You can think of Dry as htop for containers.
## LINUX$ curl -sSf https://moncho.github.io/dry/dryup.sh | sudo sh$ sudo chmod 755 /usr/local/bin/dry
## MACbrew tap moncho/dry brew install dry
$ dry
This will open up a prompt loaded with all the useful information about the docker daemon and the containers that are running. It can connect to local or remote docker host. In this example we are connected to local daemon (unix:///var/run/docker.sock)
.
top: dry | bottom: docker ps
This image shows a comparison between docker ps
and dry
. The dry experience is definitely much better than the default docker cli.
You can enter the monitor mode in dry by pressing m
key. This is equivalent to docker stats
command. Let’s see how the monitoring compares between the two
top: dry | bottom: docker stats
Both the tools provide similar metrics but again dry
has more verbose and colored output. It also has an additional NAME
column which comes handy at times when you have many containers you are not a memory champion.
If you select a container from the main menu you get a list of operations that can be performed.
` dry: containers
You can view logs, inspect, kill and do a bunch of other things to the container. The Stats+Top
is a useful feature that shows the resource utilization and output of top from the container.
dry: Stats + Top
The docker cli flow would be to first fetch the container id from docker ps
and then execute top interactively inside the container docker exec -it <container_id> top
.
You can operate on images by pressing 2
inside the main menu.
dry: images
If you want to remove an image simply select it from the menu and press Ctrl + E
. For force removal you must use Ctrl + F
.
To get help on dry commands you can start dry
and press H
key or visit their github page.
Dry may not add a lot of value for everyone but it is definitely some sugar on top of vanilla docker cli. I use this tool a lot and would recommend others to give it a try.