了解しました。以下は 第9章:トラブルシューティングとFAQ のうち、
9.2 ファイル同期ができない・appでコードが見えない という状況に特化した解説です。
あなたがauthをdevcontainerで編集しているのに、app側のauthコンテナにその変更が反映されない。
「authコンテナのログを見ても、修正したコードの動作になってない」
「たしかに保存はしたのに、何も変わらない」
→ よくあるのが “volume(マウント)の不一致” や “キャッシュ” 問題
症状例 | 原因 | 解決方法 |
---|---|---|
app/auth の中が空または古い内容のまま | volumes 設定で違う場所がマウントされている |
docker-compose.override.yml を確認し、 ../auth など 正しいパスが使われているかチェック |
devcontainerで修正したのにapp側が反映されない | devcontainerとappコンテナが 別ディレクトリを見ている | devcontainer.json の "mounts" と app の volumes が 同じディレクトリを指しているか確認 |
ファイルはあるのに動作に変化がない | Dockerがマウントを認識していない or キャッシュ | appのauthコンテナを一度 docker-compose down → up -d で再起動して同期強制 |
WSLやRemote-SSHでファイル変更が検出されない | ファイルシステム通知が伝播しない(特にSSH越し) | touch でファイルを明示的に更新、または rails restart などの再起動処理 |
docker-compose.override.yml
を確認# app/docker-compose.override.yml
services:
auth:
volumes:
- ../auth:/app:cached # ← このパスが devcontainer の mount 先と一致してる?
../auth
のパスが devcontainerで開いているリポジトリの場所と一致しているか?devcontainer.json
を確認