react-hot-loader用の Docker コンテナーを作成したいと考えています。しかし、inotify はおそらくコンテナー内では機能しません。したがって、HMR は壊れています。
Docer for mac バージョン 1.12.0-rc2-beta16 (ビルド: 9493) を使用しています。
これは私の docker-compose.yml です。
version: "2"
services:
web:
build: .
ports:
- "8000:8000"
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
私のDockerfileは以下です
FROM node:6.2
RUN apt update && apt install vim inotify-tools -y
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app
RUN npm install
COPY . /usr/src/app
EXPOSE 8000
CMD ["npm", "start"]
そして、react-hot-loaderディレクトリを同じディレクトリに配置しました。
を実行するdocker-compose up
とアクセスできlocalhost:8000
、React プロジェクトがうまく機能します。ただし、ローカル マシンで React コンポーネントを編集しても、HMR は機能しません。
コンテナー内の React コンポーネントを編集しようとしたとき、HMR はうまく機能しました。
また、 inotify-toolsで inotify がうまく動くかどうかを確認しました。次に、ローカル マシンでファイルを編集すると、inotify が機能しません。もちろん、コンテナ内のファイルを編集するときはうまく機能します。