Windows上的Dockerizing React应用渲染错误

时间:2019-01-23 10:07:07

标签: windows reactjs docker volume

我的docker文件是

FROM node:alpine

WORKDIR '/app'

COPY package.json .

RUN npm install

COPY . .

CMD ["npm","run" , "start"]

我的docker-compose.yml文件是

version: '3'
services:
    web:
      build:
        context: .
        dockerfile: Dockerfile
      ports:
        - "3000:3000"
      volumes:
        - .:/app

这是带有docker的基本React应用,我想了解docker volume的工作原理,我在docker上进行开发构建意味着npm run start,我想在浏览器中实时查看变化,

当我在主机目录中更改App.js时,将相同的更改放入docker文件,然后浏览页面可以使用新代码刷新,

但是当我在Windows中尝试时,App.js更改了主机目录,然后在内部Docker容器中更改了App.js,但未刷新网页

当我尝试查看容器中的文件时,我可以看到容器中的App.js发生了变化,然后当我保存App.js并退出并随后重新引用网页时,我可以看到页面中的变化,我无法理解我需要做吗?

我的主机文件已更改,然后docker容器文件已更改,但Chorme页面无法呈现新更改,

我的代码更改了主机目录中的App.js

 render() {
    return (
      <div>
        <form onSubmit={this.sendToRedis}>
          <h1>Docker Changes 1</h1>

和Docker容器中的App.js 我可以看到

docker exec -ti [ContainerName] sh
cat /App/src/App.js

在Docker容器中还有App.js

 render() {
    return (
      <div>
        <form onSubmit={this.sendToRedis}>
          <h1>Docker Changes 1</h1>

但是在浏览器中呈现我的旧代码

当我尝试归档文件时,将更改保存在容器中

vi /App/src/App.js  wq in the vi

然后刷新浏览器,我可以看到我的更改

你们可以帮我吗?

当我在docker容器中更改App.js时,请浏览refresing,新的更改可以呈现:D

顺便说一句,抱歉我的英语句子结构

0 个答案:

没有答案