关于 docker-watch-mode-2025
介绍 Docker Compose Watch 的本地开发技能,面向希望文件变更时自动同步、重建或重启容器的开发者。内容说明三种 Watch 操作、规则配置和故障排查。
主要功能
- 01按文件变化同步运行中容器
- 02变更时重建镜像和容器
- 03同步配置后重启容器
- 04配置监视与忽略规则
- 05排查同步和热重载问题
适用场景
- 01开发时同步前端源文件
- 02依赖变更时重建容器
- 03配置文件变更后重启服务
- 04诊断 Compose Watch 文件变更未触发
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill docker-watch-mode-2025安装后在 Claude Code 中输入/docker-watch-mode-2025确认已加载。
详细介绍
Docker Compose Watch 模式(2025 GA)
Docker Compose Watch 可在本地开发期间自动热重载,即时同步文件更改,无需手动重启容器。
三种 Watch 操作
1. sync - 热重载
适用于支持热重载的框架(React、Next.js、Node.js、Flask)。 直接将更改的文件复制到正在运行的容器中。
2. rebuild - 编译
适用于编译型语言(Go、Rust、Java)或依赖项更改。 文件发生更改时重新构建镜像并重建容器。
3. sync+restart - 配置更改
适用于需要重启的配置文件。 同步文件并重启容器。
核心流程
- 添加 Watch 规则前,确认应用已能通过
docker compose up启动。 - 如果运行时已会重新加载文件,则优先为源代码目录使用
sync。 - 对依赖清单、Dockerfile、编译产物或基础镜像更改使用
rebuild。 - 对仅在进程启动时读取的配置文件使用
sync+restart。 - 添加范围精准的
ignore规则,排除依赖目录、构建输出、VCS 目录、缓存、机密信息和生成文件。 - 运行
docker compose up --watch,并验证快速源代码编辑和依赖项更改。
用法
services:
frontend:
build: ./frontend
develop:
watch:
- action: sync
path: ./frontend/src
target: /app/src
ignore: [node_modules/, .git/, dist/]
- action: rebuild
path: ./frontend/package.json
使用以下命令启动:docker compose up --watch。
故障排除清单
- 未检测到更改:确认监视路径相对于 Compose 文件设置,且未被
ignore排除。 - 未触发热重载:确认容器内的应用已启用自身的监视器。
- 容器重启过于频繁:将源代码的
sync规则与清单的rebuild规则分开。 - 文件所有权问题:依赖目录优先使用命名卷,并且仅同步应用代码。
- 同步速度慢:缩小监视路径范围,并排除构建输出或大型生成目录。
参考资料
使用 docker compose watch --help 和 Docker 的 Compose Watch 文档了解当前的操作类型和 CLI 标志。如果 Watch 规则与服务依赖项、配置文件、网络或卷相互影响,请搭配使用此技能与 compose-patterns-2025。
优势
- 性能优于宽泛的绑定挂载
- 减少主机与容器之间的文件权限问题
- 智能同步并支持重新构建
- 适用于受支持的 Docker Desktop 和 Compose 平台
评论
支持 Markdown