mcpField
D
docker-watch-mode-2025

docker-watch-mode-2025

github.com/josiahsiegel开发59162 次安装19 周前更新
代码仓库

关于 docker-watch-mode-2025

介绍 Docker Compose Watch 的本地开发技能,面向希望文件变更时自动同步、重建或重启容器的开发者。内容说明三种 Watch 操作、规则配置和故障排查。

主要功能

  1. 01按文件变化同步运行中容器
  2. 02变更时重建镜像和容器
  3. 03同步配置后重启容器
  4. 04配置监视与忽略规则
  5. 05排查同步和热重载问题

适用场景

  1. 01开发时同步前端源文件
  2. 02依赖变更时重建容器
  3. 03配置文件变更后重启服务
  4. 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 - 配置更改

适用于需要重启的配置文件。 同步文件并重启容器。

核心流程

  1. 添加 Watch 规则前,确认应用已能通过 docker compose up 启动。
  2. 如果运行时已会重新加载文件,则优先为源代码目录使用 sync。
  3. 对依赖清单、Dockerfile、编译产物或基础镜像更改使用 rebuild。
  4. 对仅在进程启动时读取的配置文件使用 sync+restart。
  5. 添加范围精准的 ignore 规则,排除依赖目录、构建输出、VCS 目录、缓存、机密信息和生成文件。
  6. 运行 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