基于docker容器的ReactJs开发
如何使用docker容器在windows上使用docker开发Reactjs 到目前为止,我已经能够运行我的应用程序,但livereload无法运行 应用程序/结构基于docker容器的ReactJs开发,reactjs,docker,Reactjs,Docker,如何使用docker容器在windows上使用docker开发Reactjs 到目前为止,我已经能够运行我的应用程序,但livereload无法运行 应用程序/结构 建造 节点单元 公开的 src docker-compose.yml Dockerfile Dockerfile FROM node:5.11.0-slim # Prepare app directory RUN mkdir -p /usr/src/app WORKDIR /usr/src/app/ # Install de
- 建造
- 节点单元
- 公开的
- src
- docker-compose.yml
- Dockerfile
FROM node:5.11.0-slim
# Prepare app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app/
# Install dependencies
COPY package.json /usr/src/app/
RUN npm install --silent
ADD . /usr/src/app/
CMD [ "npm", "start" ]
docker-compose.yml:
version: "2"
services:
frontend:
container_name: "boilerplate"
build: .
environment:
env_file: .env
NODE_ENV: development
ports:
- '3000:3000'
volumes:
- .:/usr/src/app
这是Windows的一个已知限制(不要太担心,有一个很好的解决方法)
。以下是政府对这个问题的看法:
共享驱动器上的inotify不起作用
目前,inotify在Docker for Windows上不起作用。这将
例如,当应用程序需要读/写时变得明显
通过已安装的驱动器连接到容器。而不是依靠
文件系统inotify,我们建议为您的应用程序使用轮询功能
框架或编程语言
- nodemon和Node.js的解决方法-如果您将nodemon与Node.js一起使用,请尝试下面介绍的回退轮询模式:
- GitHub上的Windows Docker问题-请参阅问题
解决办法 但是,解决方法是使用轮询机制:
- -node.js fs.watch/fs.watchFile/fsevents的整洁包装
- -监视node.js应用程序中的任何更改,并自动重新启动服务器-非常适合开发
- -如果观看不适合您,请尝试轮询选项。在VirtualBox中,监视不适用于NFS和计算机
- 等等
完成Docker&React设置 就你的情况而言,我从Docker容器开始,livereload功能非常完美。通过创建.env配置文件,可以实现该目标 以下是我的配置(): Dockerfile
FROM node:6.9.4
# Prepare app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app/
# Install dependencies
COPY package.json /usr/src/app/
RUN npm install --silent
ADD . /usr/src/app/
EXPOSE 3000
CMD [ "npm", "start" ]
docker compose.yml
version: "2"
services:
frontend:
container_name: "boilerplate"
build: .
environment:
env_file: .env
NODE_ENV: development
ports:
- '3000:3000'
volumes:
- .:/usr/src/app
.env
CHOKIDAR_USEPOLLING=true
剧本
-启动您的项目,该项目将在上提供docker compose up-d
-访问您的容器docker compose run--rm-boilerplate/bin/bash