我的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
顺便说一句,抱歉我的英语句子结构