docker-watch-mode-2025 について
ローカル開発中のファイル変更に応じてコンテナを同期・再ビルド・再起動する、Docker Compose Watchのスキルです。3種類のアクション、ルール設定、トラブルシューティングを扱います。
主な機能
- 01変更ファイルを実行中のコンテナに同期
- 02変更時にイメージとコンテナを再ビルド
- 03設定を同期してコンテナを再起動
- 04監視ルールと除外ルールの設定
- 05同期やホットリロードの問題を診断
活用シーン
- 01開発中のフロントエンドソース同期
- 02依存関係の変更時にコンテナを再ビルド
- 03設定変更後のサービス再起動
- 04Compose 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 を使用すると、コンテナーを手動で再起動することなくファイル変更を即座に同期し、ローカル開発中のホットリロードを自動化できます。
3 つの 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を使用します。 - 依存関係のフォルダー、ビルド出力、VCS フォルダー、キャッシュ、シークレット、生成ファイルには、対象を絞った
ignoreルールを追加します。 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ルールを分けます。 - ファイル所有権の問題:依存関係のディレクトリには名前付きボリュームを使用し、アプリケーションコードのみを同期します。
- 同期が遅い:監視対象のパスを絞り込み、ビルド出力や大きな生成フォルダーを除外します。
参考資料
現在のアクションと CLI フラグについては、docker compose watch --help と Docker の Compose Watch ドキュメントを参照してください。watch ルールがサービスの依存関係、プロファイル、ネットワーク、ボリュームに関係する場合は、このスキルと compose-patterns-2025 を組み合わせてください。
メリット
- 広範なバインドマウントよりも優れたパフォーマンス
- ホストとコンテナー間のファイル権限の問題を軽減
- 再ビルド機能を備えたインテリジェントな同期
- サポート対象の Docker Desktop および Compose プラットフォームで動作
コメント
Markdown 対応