我正在尝试构建一个运行在Docker容器(以及Django应用程序)中的React 16.13.0应用程序。我想挂载本地React目录,以便我的React docker容器从那里读取其文件,以便如果我更改本地文件系统上的文件,它会被我的React docker容器自动提取。我有这个docker-compose.yml文件...
version: '3'
services:
...
client:
build:
context: ./client
volumes:
- /app/node_modules
- ./client:/app
ports:
- '3001:3000'
restart: always
container_name: web-app
environment:
- NODE_ENV=development
- REACT_APP_PROXY=http://localhost:9090
#command: npm run start
depends_on:
- web
...
这是我的React目录中的Dockerfile文件(client / Dockerfile)...
FROM node:10-alpine AS alpine
# A directory within the virtualized Docker environment
# Becomes more relevant when using Docker Compose later
WORKDIR /usr/src/app
# Copies package.json and package-lock.json to Docker environment
COPY package*.json ./
# Installs all node packages
RUN npm install
# Finally runs the application
CMD [ "npm", "start" ]
可悲的是,这似乎不起作用。在运行的Docker容器中未反映对本地文件系统的更改。我还应该做什么?
答案 0 :(得分:0)
Dockerfile似乎还可以。这是docker-compose.yml的一部分。注意环境。底部的变量CHOKIDAR_USEPOLLING = true。
version: '3.7'
services:
react:
container_name: react
build:
context: react/
dockerfile: Dockerfile
volumes:
- './react:/app'
- '/app/node_modules'
stdin_open: true
ports:
- 3000:3000
environment:
- CHOKIDAR_USEPOLLING=true