我使用以下命令停靠了我的react应用:
docker build -t image-name .
docker run -e CHOKIDAR_USEPOLLING=true -v %cd%\src:/app/src -p 3000:3000 --name container-name image-name
问题是,当我保存组件中的任何更新时,它们不会显示在浏览器中,尽管它们已经在/app/src
中更新了。
我以为-e CHOKIDAR_USEPOLLING=true
可以解决这个问题,但它没有。
当我走到:docker exec -it container-name bash
。我可以看到所有内容都正确保存,但在ctrl + s
之后,更改没有显示在浏览器中。
当我打开localhost:3000
时,有一个弹出式Compiled with problems
,因为我有一些 typescript 警告,但当我关闭它时,网站工作得很好,但没有更新。
我的Dockerfile:
FROM node
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
.停靠忽略:
node_modules
Dockerfile
.git
.gitignore
.dockerignore
.env
Docker日志:
(node:26) [DEP_WEBPACK_DEV_SERVER_ON_AFTER_SETUP_MIDDLEWARE] DeprecationWarning: 'onAfterSetupMiddleware' option is deprecated. Please use the 'setupMiddlewares' option.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:26) [DEP_WEBPACK_DEV_SERVER_ON_BEFORE_SETUP_MIDDLEWARE] DeprecationWarning: 'onBeforeSetupMiddleware' option is deprecated. Please use the 'setupMiddlewares' option.
节点版本19.0.1
2条答案
按热度按时间jdzmm42g1#
我修复了它。您需要更新
scripts/start
中package.json中的这一行:但如果你有一个大的前端更新延迟将是可怕的(像几秒钟,每次保存和更新)
fnatzsnv2#
我认为你的版本仍然是旧的。你可能需要在Docker UI中删除旧的版本,运行新的版本,然后运行Docker映像。