news 2026/9/3 9:10:20

如何用Lazydocker管理docker-compose项目:从up、down到rebuild的完整工作流

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用Lazydocker管理docker-compose项目:从up、down到rebuild的完整工作流

如何用Lazydocker管理docker-compose项目:从up、down到rebuild的完整工作流

【免费下载链接】lazydockerThe lazier way to manage everything docker项目地址: https://gitcode.com/GitHub_Trending/la/lazydocker

Lazydocker是一款免费的终端界面(TUI)工具,用 Go 编写,让你在一个窗口内完成 Docker 和 docker-compose 的全部日常操作:updownrestartrebuild、看日志、进 shell,每个常用命令都只有一个按键的距离。本文带你走通从启动项目到重建服务的完整工作流。

为什么用 Lazydocker 管理 docker-compose?

用命令行管理 compose 项目,你常常要在几个终端窗口之间来回切换:一个窗口跑docker compose up看日志,一个窗口跑ps看状态,改代码后还要手动up -d --build重建。窗口越开越多,命令越记越乱。

Lazydocker 的解决思路很简单:所有信息集中在一个终端窗口,每个操作一个按键。官方对使用场景的描述在 README.md 的 "Elevator Pitch" 一节,写的就是这种"多窗口切来切去"的痛点。

核心优势:

  • 面板式管理:项目、服务、容器、镜像、卷、网络各占一个侧栏面板
  • 一键常用操作:up / down / restart / rebuild 都是单个快捷键
  • 多项目感知:能发现机器上所有正在运行的 compose 项目,切换查看
  • 可定制命令模板:rebuild、restart 等底层命令都能按自己习惯改写

运行要求:Docker >= 29.0.0,可选安装 docker-compose >= 1.23.2(新版docker compose插件同样可用)。

快速安装 Lazydocker 并进入 compose 项目

按系统选择一种安装方式即可(摘自 README.md 的 Installation 章节):

# macOS / Linux(Homebrew) brew install lazydocker # Windows(Scoop) scoop install lazydocker # Go 直接安装 go install github.com/jesseduffield/lazydocker@latest # 或者从源码构建 git clone https://gitcode.com/GitHub_Trending/la/lazydocker cd lazydocker go build -o lazydocker .

关键一步:在你的docker-compose.yml所在目录启动 lazydocker。只有在这个目录内,项目面板和服务面板才会出现,up/down 等 compose 命令才可用(见 pkg/gui/project_panel.go 中InDockerComposeProject的判断逻辑)。

cd your-compose-project lazydocker

认识三个核心面板:Projects / Services / Containers

进入后你会看到左侧多个面板,用数字键快速聚焦:

按键面板作用
1Projects列出机器上所有 compose 项目,选中后右侧只过滤该项目的内容
2Services当前 compose 项目定义的服务(对应 yml 里的 services)
3Containers所有容器,含状态、镜像、端口
4~6Images / Volumes / Networks镜像、卷、网络

选中某个项目后,服务和容器列表会自动过滤为该项目专属(实现在 pkg/gui/project_panel.go),排查问题再也不会看错项目。

up:启动整个项目或单个服务

把焦点切到 Services 面板(按2),选中一个服务,常用启动类按键:

按键操作等价命令
Uup project:启动整个项目docker compose up -d
uup service:只启动选中的服务docker compose up -d <service>
Sstart:启动已创建但停止的容器docker compose start <service>
R查看 restart 选项(含强制重建)docker compose up -d --force-recreate <service>

U时会有确认提示("Are you sure you want to 'up' your docker compose project?",见 pkg/i18n/english.go),防止误触。

down:停止、清理项目

同样在 Services 面板:

  • D——down project:停止并移除整个项目的容器和网络,等价于docker compose down
  • d—— remove containers:移除选中服务的容器,也可选remove with volumes连卷一起删
  • s—— stop:只停止服务,容器保留

日常"下班收尾"就是D一下;要连数据卷一起清干净(比如调试完想从零开始),在移除菜单里选 "remove with volumes"(定义于 pkg/gui/services_panel.go)。

rebuild:一键重建服务(改完代码最常用)

修改了服务代码或 Dockerfile 后,需要重新构建镜像并重建容器。在 Services 面板选中服务后打开菜单选择rebuild(实现见 pkg/gui/services_panel.go),它默认执行的命令是:

docker compose up -d --build <service>

这条命令可以在配置文件里自定义。pkg/config/app_config.go 中定义了默认模板:

# 可写入你的 lazydocker 配置 command: rebuildService: "{{ .DockerCompose }} up -d --build {{ .Service.Name }}" restartService: "{{ .DockerCompose }} restart {{ .Service.Name }}" recreateService: "{{ .DockerCompose }} up -d --force-recreate {{ .Service.Name }}"

配置项的完整说明见 docs/Config.md,本地配置样例可参考 config/config.yml。

看日志、进 shell:排障三件套

按键操作说明
mview logs实时跟踪日志,服务挂了也能持续看到输出
Eexec shell直接docker exec -it进入容器
aattach附加到前台进程
wopen in browser用第一个映射端口在浏览器打开服务
M项目全部日志在 Projects 面板下查看整个 compose 项目的汇总日志(见 pkg/gui/project_panel.go)
/filter任意列表内快速过滤

这正是 Lazydocker 相比命令行的核心体验:m打开日志后不会被服务重启打断,不用反复重新敲logs -f

完整工作流总结

一次典型开发循环只需要记住这些键:

改代码 → rebuild(R菜单) → m 看日志 → 发现问题 E 进shell 服务挂了 → r 重启 / u 单独 up 下班收尾 → D (down project)

完整按键表可查 docs/keybindings/Keybindings_en.md(也有中文等 9 种语言的版本,位于 docs/keybindings/ 目录)。

掌握这套 up → rebuild → down 的工作流后,你可以全程不离开终端、不切窗口地管理所有 compose 项目——这就是 Lazydocker "The lazier way to manage everything docker" 的由来。

【免费下载链接】lazydockerThe lazier way to manage everything docker项目地址: https://gitcode.com/GitHub_Trending/la/lazydocker

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 9:09:40

GPT-5.6运营系统:基于账号ID的AI辅助内容创作与粉丝增长实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 9:08:48

震荡市技术分析实战:五大工具识别低吸机会与科技修复信号

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 9:05:15

四旋翼悬停控制仿真:PID、LQR与MPC对比实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华