一直在寻找一个基于terminal的tui工具,今天总算找到了。
先来看看效果:
右边常开一个小窗口(iterm2快捷键:⌘+D),用来管理docker,这样就再也不用切换端口,也不需要频繁运行docker指令了。这在服务器上更加方便,尤其是和tmux、iterm2结合起来的时候。
安装go环境
如果你已经安装好了,请直接跳过~
MacOS系统
修改你的sh配置文件,如果你使用的系统自带的(bash),就是
~/.bashrc
复制代码
如果使用的是zsh,那么就是
~/.zshrc
复制代码
添加以下内容到该文件:
export GOPATH="${HOME}/go"
export GOROOT="$(brew --prefix golang)/libexec"
export PATH="$PATH:${GOPATH}/bin:${GOROOT}/bin"
复制代码
啰嗦一点,解释一下:
- export GOPATH="${HOME}/go"
GOPATH可以看着是你本地的go开发路径,可以随意选择一个适合自己的。
- export GOROOT="$(brew --prefix golang)/libexec"
GOROOT是安装的go可执行文件所在的目录,这里我们使用brew来安装,所以就设置为"$(brew --prefix golang)/libexec",也就是
/usr/local/Cellar/go/1.11.4/libexec
复制代码
- PATH="{GOPATH}/bin:${GOROOT}/bin"
将GOPATH和GOROOT的bin子目录添加到你的环境变量PATH,不然之后会遇到"命令找不到"这种错误。
还有非常重要的一点:别忘了使上述修改生效。
soucre ~/.bashrc
复制代码
或者
source ~/.zshrc
复制代码
手动创建你的GOPATH目录:
test -d "${GOPATH}" || mkdir "${GOPATH}"
复制代码
使用brew安装go:
brew install go
复制代码
安装docui
只需要通过一条go命令获取源代码就行:
go get -d github.com/skanehira/docui
复制代码
这会将docui的源码安装到你这个目录:
$GOPATH/github.com/skanehira/docui
复制代码
如果你在安装的过程中遇到了下面的问题:
package golang.org/x/sys/unix: unrecognized import path "golang.org/x/sys/unix" (https fetch: Get https://golang.org/x/sys/unix?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
package golang.org/x/crypto/ssh/terminal: unrecognized import path "golang.org/x/crypto/ssh/terminal" (https fetch: Get https://golang.org/x/crypto/ssh/terminal?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
复制代码
mkdir -p $GOPATH/src/golang.org/x/
cd !$
git clone https://github.com/golang/sys.git
git clone https://github.com/golang/text.git
复制代码
最后切换到$GOPATH/github.com/skanehira/docui目录下面,执行
go install
复制代码
使用docui
输入docui
进入tui交互环境,输入q
即可退出。除了可以查看镜像列表、容器列表、volume列表、network列表外,还有几项比较实用的操作:
进入某个特定的容器
对准container list的某个容器,按下ctrl+c
,输入bash
,然后按↓
选中Exec
。
搜索镜像
在image list这个panel,按crtl+f
进行搜索
创建容器
在image list这个panel,按c