【问题标题】:docker bind mount not working in react appdocker bind mount 在反应应用程序中不起作用
【发布时间】:2022-05-03 22:58:21
【问题描述】:

我在 Windows 主页上使用 docker 工具箱,但无法弄清楚如何让绑定挂载在我的前端应用程序中工作。我希望在更改 src 目录中的内容时反映更改。

应用结构:

Dockerfile:

FROM node
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "npm", "start" ]

Docker 命令:

  1. (在前端目录中)docker build -t frontend .
  2. docker run -p 3000:3000 -d -it --rm --name frontend-app -v ${cwd}:/app/src frontend

非常感谢任何帮助。

编辑

cwd -> E:\docker\multi\frontend

cwd/src 也不起作用。但是,我发现使用 /e/docker/multi/frontend/src 更改会反映在重新运行相同的图像时

【问题讨论】:

  • cwd的值是多少?
  • cwd -> E:\docker\multi\frontend。我相信我需要向其中添加 src,但我使用 ${cwd/src} 进行了尝试,但它没有运行绑定挂载。
  • 如果你想使用 cwd,那就是 ${cwd}/src:.. 但听起来你现在已经可以正常工作了。
  • 一开始我尝试了 ${cwd}/src:.. 但这导致应用程序在启动时崩溃。但是, ${cwd/src}:.. 可以正常工作而不会崩溃。尽管绑定挂载仍然无法解决。使用整个绝对路径显然有效。

标签: reactjs docker dockerfile docker-toolbox


【解决方案1】:

我遇到了同样的问题,感觉我们应该使用 nodemon 来查找文件更改并重新启动应用程序。 因为有了 docker 参考和教程项目就可以做到这一点。

【讨论】:

  • 正如 Shailaditya Thakur 先生所提到的,使用 abs 路径可用于绑定挂载。
  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
  • 这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review
猜你喜欢
  • 2020-02-18
  • 1970-01-01
  • 2020-11-01
  • 2019-06-28
  • 2019-07-21
  • 2020-03-07
  • 1970-01-01
  • 1970-01-01
  • 2019-02-25
相关资源
最近更新 更多