Minimal TUI interface for Docker
Check a preview of the TUI:
You can download one of the binary from the release page
You can either install it with CRI support if you want to use it with containerd or CRI-O, or without if you only want to use it with Docker and Podman.
- Install Rust (see here)
- Install the tool:
cargo install --locked --git https://github.com/pyaillet/doggy
- Install Rust (see here)
- Install the dependencies
- protoc with the feature
cri
- protoc with the feature
- Install the tool:
cargo install --locked --git https://github.com/pyaillet/doggy --features cri
- Install via homebrew
brew tap pyaillet/homebrew-formulas
brew install pyaillet/formulas/doggy
By default doggy
will try the following in order:
- Check for existence of the environment variables
DOCKER_HOST
andDOCKER_CERT_PATH
, if both are defined it will try to connect to the address in theDOCKER_HOST
variable and useca.pem
,cert.pem
andkey.pem
inDOCKER_CERT_PATH
to establish a secure connection to the docker daemon. - Check for existence of the environment variables
DOCKER_HOST
, if only this one is defined it will try to connect to the address in theDOCKER_HOST
variable to establish an insecure connection to the docker daemon. - If the variables are not defined, it will search for the local socket
unix:///var/run/docker.sock
- If the socket is not found, it will search for the CRI socket
unix:///var/run/containerd/containerd.sock
By default doggy
will check the existence of a socket file in the following in order:
- Docker socket file
unix:///var/run/docker.sock
- Rancher Desktop docker socket file
unix://${HOME}/.rd/docker.sock
- Podman Desktop docker socket file
unix://${HOME}/.local/share/containers/podman/machine/podman.sock
- Orbstack docker socket file
unix://${HOME}/.orbstack/run/docker.sock
- Containerd CRI socket
unix:///var/run/containerd/containerd.sock
It's also possible to specify where to find the sockets with command args:
--docker <docker socket path>
--cri <cri socket path>
- Display help screen:
?
- Change view:
:
and resource name (containers
,images
,networks
,volumes
) - Filter resources by name:
/
- Container view:
- Show/hide stopped containers:
a
- Launch
/bin/bash
in the container:s
- Launch a custom command in the container:
S
- Show container logs:
l
- Show/hide stopped containers:
- Sort by columns:
F[1234]
- Inspect resource:
i
- Delete a resource:
Ctrl+d
- Browse lists:
- Up:
↑
orj
- Down:
↓
ork
- Up:
- Previous view:
Esc
- List containers
- Display the stopped containers
- Filter the container list
- Inspect containers
- View container logs
- Exec
/bin/bash
in a container - Delete containers (running or stopped)
- List images
- Inspect image
- Filter the image list
- Delete images (not used by any container)
- List networks
- Inspect network
- Filter the network list
- Delete network
- List volumes
- Inspect volume
- Filter the volume list
- Delete volume