gpt4 book ai didi

windows - 将主机目录挂载为网络共享时,babel-watch 无法在 Windows 主机上的 docker 容器中运行

转载 作者:可可西里 更新时间:2023-11-01 11:48:20 27 4
gpt4 key购买 nike

我在 Windows 上使用 docker,我的 src 目录是 mounted as a network share inside the docker container (与复制相反)。所以docker里面的/var/app/server其实是一个网络共享,它在我主机上的实际位置是C:\...project\server。 [旁注,我不熟悉 docker 在 linux 上的工作方式,比如它是否仍然使用网络共享在 linux 上挂载?因为如果不是那么这可能只是 Windows 问题]

我正在使用使用 mkfifo 的 babel-watch,并且由于它在 docker 容器 (VM) 中运行,mkfifo 无法在该网络共享目录中创建文件管道。 [旁注:babel-watch 实际上确实可以在带有 cygwin 的 docker 之外的 Windows 上运行,cygwin 具有 mkfifo.exe 实用程序]

server_1  | mkfifo: cannot create fifo `/var/app/server/116521-16-pz2v9g.ma216skyb9': Operation not permitted
server_1 | Unable to create named pipe with mkfifo. Are you on linux/OSX?

有什么解决办法吗?

我试过了 editing babel-watch source让 mkfifo 在 /var/app/var 中创建一个文件(它仍然在 docker 容器的范围内),而这种方式 mkfifo 实际上有效,babel-watch 看不到文件更改。我想从根本上说,文件更改信息无法通过网络共享屏障传播 - /var/app/server(挂载点)到 /var/app( docker 中的真实目录)。

最佳答案

mkfifo 需要 Linux/OSX 环境,而 /var/app/server 是从 Windows 挂载的。所以它不起作用。所以你应该 ADDCOPY 而不是挂载卷

关于windows - 将主机目录挂载为网络共享时,babel-watch 无法在 Windows 主机上的 docker 容器中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37937424/

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