Next.jsをDockerで立ち上げるとHot Reloadが効かない

tokuyaman
·

結論

nodeコンテナのvolumesの設定を見直した

背景

Next.js(v14.1)をDockerのnodeコンテナを利用して立ち上げたがHot Reloadが効かなかった。

ググるとすぐにvercel/nextjsのissuesが見つかる。

他の検索結果も含めておおよそ対処法が下記のとおりだがそれでも動かなかった。

  • ENVに`CHOKIDAR_USEPOLLING`や`WATCHPACK_POLLING`を設定する

  • next.config.jsなどのファイルにpolling設定を行う

issues内にvolumesを見直して動いたというコメント↓を見かけたので修正したところ無事動くようになった。

修正前

```

volumes:

- ./frontend:/test/frontend

```

修正後

```

volumes:

- ./frontend:frontend

```

ホスト側とコンテナ側のファイルシステムが異なるためうまく変更が検知できなかったのかな。

おしまい