docui - TUI Client for Docker Written in Go

December 23, 2021 · View on GitHub

Go Report Card CircleCI CircleCI GitHub All Releases GitHub commits

This repository is no longer maintenance. Please use lazydocker instead.

About docui

demo

docui is a TUI Client for Docker. It can do the following:

  • image

    • search/pull/remove
    • save/import/load
    • inspect/filtering
  • container

    • create/remove
    • start/stop/kill
    • export/commit
    • inspect/rename/filtering
    • exec cmd
  • volume

    • create/remove
    • inspect/filtering
  • network

    • remove
    • inspect/filtering

Supported OSes

  • Mac
  • Linux

Required Tools

  • Go Ver.1.11.4~
  • Docker Engine Ver.18.06.1~
  • Git

Installation

Environment variables

The following environment variables must be set.

export LC_CTYPE=en_US.UTF-8
export TERM=xterm-256color

From Source

If you have not installed go and set GOPATH/GOBIN, you must install and set env before installing docui.

This project uses Go Modules for dependencies introduced in Go 1.11.

Use go get or git clone:

$ go get -d github.com/skanehira/docui
$ cd $GOPATH/src/github.com/skanehira/docui
$ GO111MODULE=on go install
$ git clone https://github.com/skanehira/docui.git
$ cd docui/
$ GO111MODULE=on go install

Make sure your PATH includes the $GOPATH/bin directory so your commands can be easily used:

export PATH=$PATH:$GOPATH/bin

Homebrew

$ brew install docui

Nix

docui is available on nixpkgs unstable channel:

$ nix-env -i docui

Update

Use git pull:

$ git pull
$ GO111MODULE=on go install

Log file

Check wiki.

Use on Docker

$ docker run --rm -itv /var/run/docker.sock:/var/run/docker.sock skanehira/docui

Build Docker Image

$ make docker-build

Keybindings

paneloperationkey
allchange panelTab / Shift + Tab
allquitq
list panelsnext entryj /
list panelsprevious entryk /
list panelsnext pageCtrl / f
list panelsprevious pageCtrl / b
list panelsscroll to topg
list panelsscroll to bottomG
image listpull imagep
image listsearch imagesf
image listremove imaged
image listcreate containerc
image listinspect imageEnter
image listsave images
image listimport imagei
image listload imageCtrl + l
image listrefresh image listCtrl + r
image listfilter image/
container listinspect containerEnter
container listremove containerd
container liststart containeru
container liststop containers
container listkill containerCtrl + k
container listexport containere
container listcommit containerc
container listrename containerr
container listrefresh container listCtrl + r
container listfilter image/
container listexec container cmdCtrl + e
container logsshow container logsCtrl + l
volume listcreate volumec
volume listremove volumed
volume listinspect volumeEnter
volume listrefresh volume listCtrl + r
volume listfilter volume/
network listinspect networkEnter
network listremove networkd
network listfilter network/
pull imagepull imageEnter
pull imageclose panelEsc
create containernext input boxTab
create containerprevious input boxShift + Tab
detailcursor dwonj
detailcursor upk
detailnext pageCtrl / f
detailprevious pageCtrl / b
search imagessearch imageEnter
search imagesclose panelEsc
search resultnext imagej
search resultprevious imagek
search resultpull imageEnter
search resultclose panelq
create volumeclose panelEsc
create volumenext input boxTab
create volumeprevious input boxShift + Tab

How to use

For details of the input panel please refer to wiki

Alternatives

  • lazydocker A simple terminal UI for both docker and docker-compose, written in Go with the gocui library.
  • docker.vim Manage docker containers and images in Vim
  • See Awesome Docker list for similar tools to work with Docker.