3 releases
new 0.0.3 | Jun 30, 2024 |
---|---|
0.0.2 | Jun 27, 2024 |
0.0.1 | Jun 27, 2024 |
#61 in Development tools
417 downloads per month
110KB
3K
SLoC
Ducker
๐ A terminal app for managing docker containers, inspired by K9s
Installation ยท Useage ยท Configuration
๐ฆ Written in Rust ๐ฆ
Installation
โ Note: Ducker is currently in a "pre-release" state. โ
Please do install and try it out - it is currently undergoing active development. There are a number of known issues and features in the pipeline (see the pinned issue). Any feedback is welcome.
Cargo
There isn't currently a downloadable build; to install you will need cargo installed:
cargo install --locked ducker
AUR
You can install ducker
from the AUR with using an AUR helper.
paru -S ducker
Unstable
To install the latest unstable version of Ducker, run the following command:
cargo install --git https://github.com/robertpsoane/ducker
Useage
Ducker is comprised of a set of pages, each of which display specific information about and/or allow interaction with the docker containers and images on the host system.
Top level pages can be navigated to with commands, input via the prompt. Pages can be interacted with using actions; these are input via hotkey inputs.
A legend for common global hotkey inputs is displayed at the bottom of the screen; one for contextual (eg different on each page) hotkey inputs are displayed in the top right.
Commands
The following commands are supported:
Command | Aliases | Description |
---|---|---|
images |
image |
Open the Images top level page |
containers |
container |
Open the Containers top level page |
quit |
q |
Close the application |
Actions
Global
The following global actions are available on all pages:
Hotkey | Action |
---|---|
k /โ |
Navigate up in a list/table |
j /โ |
Navigate down in a list/table |
Q /q |
Close the application |
: |
Open the command prompt |
G |
Navigate to the bottom of a list or table |
g |
Navigate to the top of a list or table |
Containers
The following actions are available on the Containers page:
Hotkey | Action |
---|---|
Ctrl+d |
Delete the currently selected container |
a |
Exec into the currently selected container (if container is running)* |
l |
View the logs for the currently selected container |
r |
Run the currently selected container |
s |
Stop the currently selected container |
*NB: exec currently only supports containers with bash installed. The intention is that this will be updated to provide a user option.
Images
The following actions are available on the Images page:
Hotkey | Action |
---|---|
Ctrl+d |
Delete the currently selected image |
d |
Toggle whether or not to show dangling images (off by default) |
Logs
The following actions are available on the Logs page:
Hotkey | Action |
---|---|
Esc |
Return to the containers page |
Configuration
Ducker is configured via a yaml file found in the relevant config directory for host platform. On linux this is ~/.config/ducker/config.yaml
.
The following table summarises the available config values:
Key | Default | Description |
---|---|---|
prompt | ๐ฆ | The default prompt to display in the command pane |
default_exec | /bin/bash |
The default prompt to display in the command pane. NB - currently uses this for all exec's; it is planned to offer a choice |
docker_path | unix:///var/run/docker.sock |
The location of the socket on which the docker daemon is exposed (defaults to npipe:////./pipe/docker_engine on windows) |
theme | [See below] | The colour theme configuration |
If a value is unset or if the config file is unfound, Ducker will use the default values. If a value is malformed, Ducker will fail to run.
To create a fully populated default config, run ducker with the -e/--export-default-config
flag; this will write the default config to the default location, overwriting any existing config.
Themes
By default, ducker uses the terminal emulator's preset colours. However, it is possible to set a custom colour theme in config. This is set in the theme
section of the config file. The following table describes the theme options. The default theme provides the colours provided in the GIF in this README.
Key | Default | Description |
---|---|---|
use_theme | false |
When true uses the colour scheme defined in config, when false uses the default terminal colours |
title | #96E072 |
The colour used for the Ducker font in the header |
help | #EE5D43 |
The colour used in the help prompts in the header |
background | #23262E |
The colour used in the background |
footer | #00E8C6 |
The colour used for the text in the footer |
success | #96E072 |
The colour used for a successful result |
error | #EE5D43 |
The colour used for an error result |
positive_highlight | #96E072 |
The colour used for highlighting in a happy state |
negative_highlight | #FF00AA |
The colour used for highlighting in a sad state |
Tmux
Some characters in ducker use italics/boldface. This doesn't work by default when running in tmux. To fix this, add the following to your add to tmux.conf
set -g default-terminal "tmux-256color"
set -as terminal-overrides ',xterm*:sitm=\E[3m'
Dependencies
~32โ48MB
~854K SLoC