我目前正在尝试在docker中运行React应用程序。我正在运行npm start容器内部运行的create-react-app软件包中包含的脚本,并且正在使用绑定安装在主机中工作并反映容器中的更改。遗憾的是,即使文件确实发生了更改,react软件包附带的重新编译功能也无法在容器内部运行。所要抓住的是,我正在使用摘要工具箱。你们知道这可能是什么问题吗?为什么不重新编译?
我的文件结构如下。
project
| .dockerignore
| .gitignore
| docker-compose.yml
| Dockerfile
| LICENSE
| README.md
|
\---frontend
+---nodemodules\*
| package-lock.json
| package.json
| README.md
|
+---public
| index.html
|
\---src
| index.js
|
\---container
App.jsx
Run Code Online (Sandbox Code Playgroud)
Docker文件
FROM node:8.11.1
COPY . /usr/src/
WORKDIR /usr/src/frontend
ENV PATH /usr/src/frontend/node_modules/.bin:$PATH
RUN npm install -g create-react-app
RUN npm install
EXPOSE 3000
CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: "3.5"
services:
react:
build:
context: .
dockerfile: Dockerfile
volumes:
- "./frontend:/usr/src/frontend"
- '/usr/src/frontend/node_modules'
ports: …Run Code Online (Sandbox Code Playgroud) docker reactjs docker-compose docker-toolbox create-react-app