Docker GUI ctop lazydocker Portainer

Portainer

Portainer是一款Web应用程序基于开源Zlib许可证。支持Linux,Mac OS X,Windows操作系统。Portainer完全支持以下Docker版本:Docker 1.10到最新版本。

独立的Docker Swarm1.2.3以上版本。需要提醒大家的是,由于Docker引入了内置的Swarm模式,所以不鼓励使用独立的Docker Swarm。旧版本的Portainer支持独立Docker Swarm,而Portainer 1.17.0和更新版本不支持它。但是完全支持Docker内置的Swarm模式。

对以下Docker版本的部分支持(某些功能可能不可用):Docker 1.9。

Docker界面化管理工具 - 图1

测试一个现场演示(admin/tryportainer)。Portainer可以与Docker轻松安装在独立的Linux/Windows服务器/集群上。

可以管理注册表,网络、卷、镜像和容器。还可以保存配置(可以在实时演示中找到alertmanager和Prometheus的示例),并配置Docker Swarm和堆栈。Portainer可以检查容器是否健康。

除了需要使用容器的基本操作,例如运行,停止,恢复,终止,删除等之外,还可以检查容器,查看日志,可视化基本统计信息,附加并打开某些容器的控制台。

另外,还可以获得基于角色的访问系统,并且可以安装扩展。

结论:Portainer是强大的GUI工具,可用于具有本地或远程容器,Docker堆栈或Docker Swarm的团队项目。但是,对于一般需求,Portainer可能并不适合。界面也可能不方便,特别是如果同时使用多个项目。

Portainer的安装

Docker安装Portainer

DockStation

DockStation是一卷桌面应用程序;支持Linux、Mac、Windows操作系统。

Docker界面化管理工具 - 图2

DockStation免费的全功能桌面应用程序,可满足使用docker和docker-compose。可以通过docker-compose.yml使用本机Docker Compose CLI命令帮助生成一个干净的本机文件,甚至在应用程序外部也可以使用。它还可以帮助管理容器和服务,包括远程和本地的容器,并对其进行监控,比如日志监控,搜索日志,分组,运行工具以及获取容器信息。还有其他工具可用于对容器资源进行通用,多个和单个的监控。

使用DockStation,可以轻松跟踪CPU,内存,网络I/O的使用情况和开放端口。所有工作都可以组织成项目,可以在其中检查每个容器的状态,构建图形化的方案,能够可视化项目中的每个镜像以及它们之间的关系。此外,DockStation在Docker Hub上十分的受欢迎。

Docker Desktop

Docker Desktop是一款桌面应用程序,由于Docker-toolbox(带有Kitematic)已被弃用,建议所有用户在Mac上使用Docker Desktop,在Windows上使用Docker Desktop。

Docker界面化管理工具 - 图3

该工具能够为Docker设置资源限制,比如内存,CPU,磁盘镜像大小,文件共享,代理和网络等,配置Docker引擎,命令行和Kubernetes。

使用仪表板,不仅可以使用基本的容器操作,还可以查看日志,基本统计信息并检查容器。所有这些都可以通过上下文菜单或状态栏中的指示器来调用。

Lazydocker(UI终端)

Lazydocker是一款开源的UI终端,支持Linux、OSX、Windows操作系统。要求GO 1.8版本以上,Docker1.13(API 1.25以上)版本,Docker-Compose1.23.2以上版本。

Lazydocker可以满足鼠标和键盘的接入。对于某些元素,上下文菜单可用,可以在其中找到所有带有快捷键的常用命令。而且不仅拥有基本的命令来操作容器,基本的统计信息,日志和检查,而且还具有基本功能。还可以使用图形显示主要指标,默认情况下有CPU和内存使用情况和进程。此外,还可以为几乎所有所需的指标进行配置。

对于选定的镜像,可以查看Dockerfile中运行时执行的命令以及继承的层。除了修改可用命令和添加新命令之外,还提供了对未使用的容器,镜像,卷的清理。

Lazydocker提供极简的终端界面,对一些不太复杂的项目确实很有帮助。

lazydocker 的具体特性如下:

  • 全视野查看 Docker 或 docker-compose 容器环境的状态
  • 查看容器或服务的日志
  • 查看容器指标的 ascii 图表,这样你会更像个开发者
  • 自定义图表以测量不同指标
  • 附加到容器/服务
  • 重启、删除与重新构建容器/服务
  • 查看给定镜像的祖先图层
  • 修剪占用磁盘空间的容器、镜像或卷

lazydocker的官网

lazydocker官网

https://github.com/jesseduffield/lazydocker

lazydocker的安装

安装包安装

lazydocker_0.10_Linux_x86_64.tar.gz

  1. tar zxf lazydocker_0.10_Linux_x86_64.tar.gz

Linux/OSX脚本安装(官方提供的URL已失效

  1. # Binary Release (Linux/OSX)
  2. [root@iZuligp6e1dyzfZ ~]# curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash

Homebrew

  1. # Homebrew
  2. brew tap jesseduffield/lazydocker
  3. brew install lazydocker

Go

  1. # Go
  2. # Required Go version >= 1.8
  3. go get github.com/jesseduffield/lazydocker

Zsh

  1. # zsh config
  2. echo "alias lzd='lazydocker'" >> ~/.zshrc

Docker

  1. # docker build -t lazydocker .
  2. # docker run -it lazydocker:latest /bin/sh -l
  3. FROM golang:alpine
  4. WORKDIR /go/src/github.com/jesseduffield/lazydocker/
  5. COPY ./ .
  6. RUN CGO_ENABLED=0 GOOS=linux go build
  7. FROM alpine:latest
  8. RUN apk add -U git xdg-utils
  9. WORKDIR /go/src/github.com/jesseduffield/lazydocker/
  10. COPY --from=0 /go/src/github.com/jesseduffield/lazydocker /go/src/github.com/jesseduffield/lazydocker
  11. COPY --from=0 /go/src/github.com/jesseduffield/lazydocker/lazydocker /bin/
  12. RUN echo "alias gg=lazydocker" >> ~/.profile

lazydocker的使用

  1. [root@iZuligp6e1dyzfZ /]# lazydocker

lazydocker的管理界面

使用左右键进行左边菜单内容的切换,使用上下键进行菜单内的切换

Docker界面化管理工具 - 图4

①容器查看(使用左右键进入Containers Tab,然后使用上下键选择对应的容器,通过”[“和”]”键进行切换显示容器的日志、状态、配置、内存信息)

Docker界面化管理工具 - 图5

②容器管理(使用英文x键进入菜单,进行容器管理菜单)

可以进入容器的删除、重启、停止、日志查看等操作

Docker界面化管理工具 - 图6

③镜像信息查看

Docker界面化管理工具 - 图7

④镜像管理(使用英文x键进入菜单,进行容器管理菜单)

可以进行镜像的删除管理

Docker界面化管理工具 - 图8

⑤镜像与容器的挂载信息

Docker界面化管理工具 - 图9

键盘绑定

快捷键使用起来更方便

Project

  1. e: edit lazydocker config
  2. o: open lazydocker config
  3. [: previous tab
  4. ]: next tab
  5. m: view logs
  6. enter: focus main panel

Containers

  1. [: previous tab
  2. ]: next tab
  3. d: remove
  4. e: Hide/Show stopped containers
  5. s: stop
  6. r: restart
  7. a: attach
  8. D: prune exited containers
  9. m: view logs
  10. c: run predefined custom command
  11. enter: focus main panel

Services

  1. d: remove containers
  2. s: stop
  3. r: restart
  4. a: attach
  5. m: view logs
  6. [: previous tab
  7. ]: next tab
  8. R: view restart options
  9. c: run predefined custom command
  10. enter: focus main panel

Images

  1. [: previous tab
  2. ]: next tab
  3. d: remove image
  4. D: prune unused images
  5. enter: focus main panel

Volumes

  1. [: previous tab
  2. ]: next tab
  3. d: remove volume
  4. D: prune unused volumes
  5. enter: focus main panel

Main

  1. esc: return

Docui

Github仓库地址:https://github.com/skanehira/docui

Docui也是一款UI终端,支持Mac、Linux操作系统。要求GO 1.11.4以上版本,Docker引擎在18.06.1以上,以及Git。

Docui是为了方便创建和配置新的容器/服务,可以在其中找到许多所有必要操作的键绑定。

可以使用镜像的搜索、保存导入、检查过滤等;容器的创建删除、启动停止、检查和重命名等;卷的创建和删除、检查和过滤,以及网络的删除等功能。

查看dockerui镜像

  1. docker search dockerui

Docker界面化管理工具 - 图10

选择喜欢的dockerui风格镜像,下载

  1. [root@localhost ~]# docker pull abh1nav/dockerui

启动dockerui容器,这里需要注意带上<font style="color:rgb(0, 0, 0);">privileged</font>参数,提升权限

  1. [root@localhost ~]# docker run -d --privileged --name dockerui -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock abh1nav/dockerui
前往网页查看之前,你需要打开服务器的9000端口:
  1. firewall-cmd --permanent --zone=public --add-port=9000/tcpfirewall-cmd --reload

浏览器查看dockerui

http://192.168.2.119:9000或者<font style="color:rgb(0, 0, 0);">curl http://192.168.2.119:9000</font>

Docker界面化管理工具 - 图11

ctop

Github仓库地址:https://github.com/bcicen/ctop

实现了类 top 命令展示效果的 docker 容器监控工具

ctop官网

ctop官网:https://github.com/bcicen/ctop

ctop的安装

  1. $ wget https://github.com/bcicen/ctop/releases/download/v0.7.3/ctop-0.7.3-linux-amd64 -O /usr/local/bin/ctop
  2. $ chmod +x /usr/local/bin/ctop

ctop是 Docker 容器的顶级接口。它可以:

  • 展示正在运行和已停止的容器列表。
  • 展示统计信息,例如内存、CPU 使用率以及针对每个容器的其他详细信息窗口(例如绑定的端口等其他信息)。
  • 提供快捷菜单,方便快速停止、杀掉指定容器进程或显示给定容器的日志。

这比从docker ps命令中找出所有这些信息要方便多了。

ctop的参数Options

Option Description
-a show active containers only
-f <string> set an initial filter string
-h display help dialog
-i invert default colors
-r reverse container sort order
-s select initial container sort field
-scale-cpu show cpu as % of system total
-v output version information and exit
-shell specify shell (default: sh)

ctop的使用

①查看容器的运行情况

  1. [root@iZuligp6e1dyzfZ /]# ctop

Docker界面化管理工具 - 图12

②容器管理

在当前选中的容器按Enter,会显示容器管理菜单

[o] single view 视图查看

[l] log view 日志查看

[s] stop 停止容器的运行

[p] pause

[r] restart 容器重启

[e] exec shell 进入容器的Shell

[c] cancel 取消菜单

Docker界面化管理工具 - 图13

容器运行查看(使用上下键进行翻页,左右键或者Enter返回上一级)

Docker界面化管理工具 - 图14

查看容器运行日志(使用上下,左右键或者Enter返回上一级)

Docker界面化管理工具 - 图15

Dive

Dive 是一个用 Go 语言编写的自由开源工具。Dive 工具不仅仅是一个 Docker 镜像分析工具,它还可以帮助使用者用于构建镜像。

运行截图

Docker界面化管理工具 - 图16

GitHub:https://github.com/wagoodman/dive/blob/master/README.md

安装说明:https://github.com/wagoodman/dive/blob/master/README.md

下载地址:https://github.com/wagoodman/dive/releases

Shipyard

轻量级图形页面管理之Shipyard

  1. docker search Shipyard

Docker界面化管理工具 - 图17