Docker容器命令行可视化工具-Lazydocker

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: Lazydocker-专为懒人设计的容器命令行可视化交互式工具

Lazydocker的使用背景

59972109-8e9c8480-95cc-11e9-8350-38f7f86ba76d.png

平时的工作管理中会使用到各种各样的命令行工具,有些人是比较厌烦的去学习各种命令以及选项,比如Docker的各种命令和选项其实都让人很头大,于是就有人做出来一款名为Lazydocker的专为懒人设计的Dockerdocker-compose终端管理工具,该工具使用Go语言开发基于gocui实现。

如果你发现自己的项目出了问题,或者是服务down掉了,那么Lazydocker就可以立刻给你提供帮助。Lazydocker可以帮助我们DEBUG自己的项目或者服务,并且在出现问题时立刻重启所有组件,然后给我们提供详细的日志流。其中,日志流还会进行细项分类,并允许我们了解特定服务中发生的所有事情。是github上一个比较🔥的开源工具。

image-20200614233443621.png

除此之外,想要记住所有的Docker命令其实是很麻烦的,而且跨多个终端窗口跟踪容器也几乎是无法做到的。但是在Lazydocker的帮助下,我们就可以在一个终端窗口中查看到所有你所需要的信息,而且常用的命令仅需按下一个键即可实现。毫无疑问,Lazydocker绝对是懒人们的福音!我们先来看一下效果图:

demo3.gif

Lazydocker的功能

现在让我们先了解一下Lazydocker的功能

  1. 清晰的查看所有的DockerDocker-compose容器环境的状态
  2. 实时查看容器/服务日志;
  3. 查看容器指标的ascii图,这样您不仅可以感觉到而且看起来像开发人员
  4. 自定义这些图形以测量您想要的几乎任何指标
  5. 进入容器/服务;
  6. 重启/移除/重建容器或服务;
  7. 查看给定镜像的历史层信息
  8. 修改占用磁盘空间的容器、镜像或卷;

Lazydocker安装配置

你可以直接在Github上下载二进制文件,也可以通过容器运行该命令,此处我直接使用二进制命令

wget https://github.com/jesseduffield/lazydocker/releases/download/v0.9/lazydocker_0.9_Darwin_x86_64.tar.gz
tar xf lazydocker_0.9_Darwin_x86_64.tar.gz
cp lazydocker /usr/local/bin/ && chmod +x /usr/local/bin/lazydocker

因为该命令太长了,所以建议配置一个命令别名,方便我们使用:

echo "alias lzd='lazydocker'" >> ~/.zshrc
source ~/.zshrc

此时,直接执行lzd即可在终端上显示容器的各种指标状态图

Lazydocker的配置

Lazydocker支持用户自定义配置,对于不同的操作系统其配置文件存在不同的位置上

  • OSX: ~/Library/Application Support/jesseduffield/lazydocker/config.yml
  • Linux: ~/.config/jesseduffield/lazydocker/config.yml
  • Windows: C:\\Users\\<User>\\AppData\\Roaming\\jesseduffield\\lazydocker\\config.yml

不过你可以在打开Lazydocker之后,鼠标移到左上方,使用快捷键o即可打开配置文件进入编辑状态,此时直接编辑即可,想要知道每个配置文件选项的含义,可以参考开发配置参数查看,下面是一个配置的案例:

demo3-20200615001139282.gif

gui:
  scrollHeight: 2
  theme:
    activeBorderColor:
    - green
    - bold
    inactiveBorderColor:
    - white
    optionsTextColor:
    - blue
  returnImmediately: false
  wrapMainPanel: false
reporting: undetermined
commandTemplates:
  dockerCompose: docker-compose
  restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}'
  stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}'
  serviceLogs: '{{ .DockerCompose }} logs --since=60m --follow {{ .Service.Name }}'
  viewServiceLogs: '{{ .DockerCompose }} logs --follow {{ .Service.Name }}'
  rebuildService: '{{ .DockerCompose }} up -d --build {{ .Service.Name }}'
  recreateService: '{{ .DockerCompose }} up -d --force-recreate {{ .Service.Name }}'
  viewContainerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID
    }}
  containerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID }}
  allLogs: '{{ .DockerCompose }} logs --tail=300 --follow'
  viewAlLogs: '{{ .DockerCompose }} logs'
  dockerComposeConfig: '{{ .DockerCompose }} config'
  checkDockerComposeConfig: '{{ .DockerCompose }} config --quiet'
  serviceTop: '{{ .DockerCompose }} top {{ .Service.Name }}'
customCommands:
  containers:
  - name: bash
    attach: true
    command: docker exec -it {{ .Container.ID }} /bin/sh
    serviceNames: []
oS:
  openCommand: open {{filename}}
  openLinkCommand: open {{link}}
update:
  dockerRefreshInterval: 100ms
stats:
  graphs:
  - caption: CPU (%)
    statPath: DerivedStats.CPUPercentage
    color: blue
  - caption: Memory (%)
    statPath: DerivedStats.MemoryPercentage
    color: green

Lazydocker的快捷键

lazydocker的交互式界面中,还提供了多种快捷键,大家可以通过快捷键快速的在多种功能之间切换。

Project
  e: edit lazydocker config
  o: open lazydocker config
  [: previous tab
  ]: next tab
  m: view logs
  enter: focus main panel
Containers
  [: previous tab
  ]: next tab
  d: remove
  e: Hide/Show stopped containers
  s: stop
  r: restart
  a: attach
  m: view logs
  c: run predefined custom command
  b: view bulk commands
  enter: focus main panel
Services
  d: remove containers
  s: stop
  r: restart
  a: attach
  m: view logs
  [: previous tab
  ]: next tab
  R: view restart options
  c: run predefined custom command
  b: view bulk commands
  enter: focus main panel
Images
  [: previous tab
  ]: next tab
  c: run predefined custom command
  d: remove image
  b: view bulk commands
  enter: focus main panel
Volumes
  [: previous tab
  ]: next tab
  c: run predefined custom command
  d: remove volume
  b: view bulk commands
  enter: focus main panel
Main
  esc: return
相关文章
|
5天前
|
安全 关系型数据库 开发者
Docker Compose凭借其简单易用的特性,已经成为开发者在构建和管理多容器应用时不可或缺的工具。
Docker Compose是容器编排利器,简化多容器应用管理。通过YAML文件定义服务、网络和卷,一键启动应用环境。核心概念包括服务(组件集合)、网络(灵活通信)、卷(数据持久化)。实战中,编写docker-compose.yml,如设置Nginx和Postgres服务,用`docker-compose up -d`启动。高级特性涉及依赖、环境变量、健康检查和数据持久化。最佳实践涵盖环境隔离、CI/CD、资源管理和安全措施。案例分析展示如何构建微服务应用栈,实现一键部署。Docker Compose助力开发者高效驾驭复杂容器场景。
16 1
|
5天前
|
存储 监控 安全
Docker Compose:轻松实现容器编排的利器
【7月更文挑战第2天】 1. **基础与概念**:服务(多容器实例)、网络(灵活通信)、卷(数据持久化)和配置(安全管理)。 2. **实战指南**:安装Compose,编写`docker-compose.yml`文件,启动应用,并介绍依赖、环境变量、健康检查和数据持久化。 3. **最佳实践**:环境隔离、CI/CD集成、资源管理、日志监控、安全策略及案例分析,展示完整应用栈搭建。
15 1
|
10天前
|
jenkins 持续交付 开发者
利用Docker容器化部署应用的实战指南
【6月更文挑战第27天】本文详述Docker应用部署,涵盖Docker基本概念、安装、镜像制作及运行。通过编写Dockerfile构建镜像,使用`docker build`、`run`、`push`及`stop`命令管理。集成CI/CD工具如Jenkins,实现自动化构建、测试和部署,提升开发效率与部署质量。Docker助力轻量级、可移植的微服务架构。
|
2天前
|
关系型数据库 MySQL 数据安全/隐私保护
Docker01,相关介绍,是快速构建、运行、管理应用的工具
Docker01,相关介绍,是快速构建、运行、管理应用的工具
|
5天前
|
缓存 Linux 开发工具
docker的centos容器使用yum报错
docker的centos容器使用yum报错
17 0
|
9天前
|
Java API Docker
使用Spring Boot和Docker进行容器化部署
使用Spring Boot和Docker进行容器化部署
|
9天前
|
运维 Serverless 文件存储
函数计算产品使用问题之在利用Docker镜像部署应用时,容器内的应用如何能访问函数计算配置的NAS挂载
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
21天前
|
NoSQL 关系型数据库 Redis
Docker的通俗理解和通过宿主机端口访问Redis容器的实例
本文目标:引导初学者入门Docker,理解镜像、容器和宿主机概念,学习常用Docker命令,特别是如何创建并从Redis容器通过宿主机端口访问。 关键点: - Docker核心:镜像(类)、容器(实例)、宿主机(运行环境)。 - `docker pull` 拉取镜像,如 `redis:3.0`。 - `docker run -d --name` 后台运行容器,如 `my-redis`。 - `-p` 参数做端口映射,如 `6379:6379`。 - `docker exec -it` 交互式进入容器,如 `bash` 或执行命令。
100 4
|
18天前
|
前端开发 安全 数据库
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
|
15天前
|
NoSQL Redis Docker
使用 Docker Compose 接管现有容器的文档
使用 Docker Compose 接管现有容器的文档
27 2