reactjs - 如何将我的本地 React 目录挂载到我的 React docker 容器中?
问题描述
我正在尝试构建一个在 Docker 容器中运行的 React 16.13.0 应用程序(与 Django 应用程序一起)。我想挂载我的本地 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)中的 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 容器中。我还应该做什么?
解决方案
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
推荐阅读
- javascript - 如何将 fs.createReadstream 与 fs.promises 一起使用
- java - 为什么用maven shade插件重定位会报错?
- sql - 递归查询Sql Oracle 3个月日期之间的差异
- ios - 如何在 iphone 5s 和 iphone X 的情节提要中为 uibutton 设置不同的大小?
- c# - 如何毫无例外地取消任务?
- css - React 的 Material-UI:应用时看不到更改
- c# - 此类 OAuth 令牌必须存在 ExchangeImpersonation SOAP 标头
- node.js - IBM Action 在 GET 请求后未返回任何内容
- angular - Firebase 删除节点数组减慢组件渲染速度
- ibm-cloud - CIS 防火墙问题