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。
2021-10-01-18-17-40-621517.png
测试一个现场演示(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操作系统。
2021-10-01-18-17-40-844522.png
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。
2021-10-01-18-17-40-914519.jpeg
该工具能够为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 图表,这样你会更像个开发者
  • 自定义图表以测量不同指标
  • 附加到容器/服务
  • 重启、删除与重新构建容器/服务
  • 查看给定镜像的祖先图层
  • 修剪占用磁盘空间的容器、镜像或卷

    A.lazydocker的官网

    lazydocker官网
    https://github.com/jesseduffield/lazydocker

    B.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

    ```dockerfile

    docker build -t lazydocker .

    docker run -it lazydocker:latest /bin/sh -l

FROM golang:alpine WORKDIR /go/src/github.com/jesseduffield/lazydocker/ COPY ./ . RUN CGO_ENABLED=0 GOOS=linux go build

FROM alpine:latest RUN apk add -U git xdg-utils WORKDIR /go/src/github.com/jesseduffield/lazydocker/ COPY —from=0 /go/src/github.com/jesseduffield/lazydocker /go/src/github.com/jesseduffield/lazydocker COPY —from=0 /go/src/github.com/jesseduffield/lazydocker/lazydocker /bin/ RUN echo “alias gg=lazydocker” >> ~/.profile

  1. <a name="SGTNy"></a>
  2. ## C.lazydocker的使用
  3. ```bash
  4. [root@iZuligp6e1dyzfZ /]# lazydocker

lazydocker的管理界面

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

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

image.png

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

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

③镜像信息查看

image.png

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

可以进行镜像的删除管理
image.png

⑤镜像与容器的挂载信息

image.png

键盘绑定

快捷键使用起来更方便

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是为了方便创建和配置新的容器/服务,可以在其中找到许多所有必要操作的键绑定。
可以使用镜像的搜索、保存导入、检查过滤等;容器的创建删除、启动停止、检查和重命名等;卷的创建和删除、检查和过滤,以及网络的删除等功能。

1.查看dockerui镜像

  1. docker search dockerui

image.png

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

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

3.启动dockerui容器,这里需要注意带上privileged参数,提升权限

  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

4.浏览器查看dockerui:http://192.168.2.119:9000 或者 curl http://192.168.2.119:9000

DockerGUI界面化工具 - 图11

ctop

Github仓库地址:https://github.com/bcicen/ctop
实现了类 top 命令展示效果的 docker 容器监控工具

A.ctop官网

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

B.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命令中找出所有这些信息要方便多了。

C.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)

D.ctop的使用

①查看容器的运行情况

  1. [root@iZuligp6e1dyzfZ /]# ctop

image.png

②容器管理

在当前选中的容器按Enter,会显示容器管理菜单
[o] single view 视图查看
[l] log view 日志查看
[s] stop 停止容器的运行
[p] pause
[r] restart 容器重启
[e] exec shell 进入容器的Shell
[c] cancel 取消菜单
image.png

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

image.png

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

image.png

Dive

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

运行截图

2021-05-29-21-49-28-671544.gif
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

image.png