
containerctl
A lightweight terminal UI for Docker container management, built for speed over remote SSH connections
Overview
containerctl removes the friction from managing containers over SSH.
It’s a lightweight CLI that lets you instantly inspect, control, and tail logs from containers — perfect for remote servers where you want speed, not tooling overhead.
It sits as a thin layer between the tview TUI framework and the Moby Docker client. It supports connecting to a remote Docker Engine API directly over SSH, so you can manage containers on a remote host without SSHing in manually.
Install
Download the binary for your platform from the releases page.
macOS (Apple Silicon)
VERSION=v0.3.0 # replace with the desired version
curl -LO https://github.com/Br0ce/containerctl/releases/download/${VERSION}/containerctl-${VERSION}-darwin-arm64
# Verify the checksum against the value published on the releases page
shasum -a 256 containerctl-${VERSION}-darwin-arm64
chmod +x containerctl-${VERSION}-darwin-arm64
sudo mv containerctl-${VERSION}-darwin-arm64 /usr/local/bin/containerctl
containerctl --version
Linux (amd64)
VERSION=v0.3.0 # replace with the desired version
curl -LO https://github.com/Br0ce/containerctl/releases/download/${VERSION}/containerctl-${VERSION}-linux-amd64
# Verify the checksum against the value published on the releases page
sha256sum containerctl-${VERSION}-linux-amd64
chmod +x containerctl-${VERSION}-linux-amd64
sudo mv containerctl-${VERSION}-linux-amd64 /usr/local/bin/containerctl
containerctl --version
Examples
# Connect to local Docker
containerctl
# Connect to remote host using default SSH key from ~/.ssh/config
containerctl --host my-host
# Connect to remote host using with SSH key
containerctl --host my-host:23 --identity-file ~/.ssh/id_rsa
# Connect to remote host with username embedded in host and password prompted
containerctl --host username@my-host --ask-password true
Install from Source
Requirements
git clone https://github.com/Br0ce/containerctl.git
cd containerctl
make build
The binary will be placed at ./bin/containerctl.
Usage
./bin/containerctl
# or
make run
Development
Install dependencies and tooling:
make setup
Available make targets:
| Target |
Description |
build |
Build the binary to ./bin/ |
run |
Run directly via go run |
test |
Run tests (short, parallel) |
test-v |
Run tests with verbose output |
test-race |
Run tests with race detector |
lint |
Run golangci-lint |
format |
Format code with go fmt |
tidy |
Tidy and vendor dependencies |
clean |
Remove build artifacts |
Acknowledgements
- Inspired by k9s
- TUI built with tview by @rivo
- Docker integration via the Moby Go client
License
Apache 2.0 — see LICENSE.