gpt4 book ai didi

node.js - 如何避免在 Windows 主机上的 Docker 中运行 npm 的符号链接(symbolic link)问题?

转载 作者:IT老高 更新时间:2023-10-28 21:43:06 25 4
gpt4 key购买 nike

我正在使用 latest Docker public beta在 Windows 10 上。

我正在开发一个 Node.js 应用程序,我正在使用 Docker 并将我的 src 目录作为卷安装在容器中。

我无法运行 npm install从容器内部,因为它会导致创建符号链接(symbolic link)(在 node_modules 目录中),如果主机是 Windows,显然卷中不支持。

有什么办法可以解决这个问题吗?

我在 Linux 环境中运行它没有任何问题。

经过一些研究,我发现了许多涉及 Virtualbox 的解决方案,它们是针对“旧”版本的 Docker(Docker 工具箱)。

最佳答案

我是通过以下方式解决的。

在本例中,我将使用 /usr/src 作为要挂载到容器中的目录:

  1. 将应用的src目录挂载到/usr/src:-v/path/to/src:/usr/src
  2. node_modules定义一个数据量:-v/usr/src/node_modules

通过这种方式,您将拥有 /path/to/src 将被挂载到 /usr/src/usr/src/node_modules 将作为数据卷挂载。

最终的结果是即使在主机上创建了一个node_modules目录,它仍然是空的。

此解决方案利用 Docker Data Volumes .

这适用于每次您希望避免已安装目录的子目录中的更改反射(reflect)在主机上的情况,而不仅仅是 node_modules

关于node.js - 如何避免在 Windows 主机上的 Docker 中运行 npm 的符号链接(symbolic link)问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38142610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com