一直在用这个敲打我的头,并感谢任何帮助!我做了搜索,发现了一些潜在的解决方案,但对我来说都不行。
我有一个在windows中开发的nodejs应用程序,现在在docker容器中运行(使用node:latest image)。应用程序需要连接到共享的Windows网络驱动器来执行读/写操作,但是当应用程序在docker容器内运行时,它似乎不起作用(当它在我的Windows机器上运行时工作正常泊坞窗)。
网络驱动器共享文件夹看起来像这样。与大家分享:
\\ MYSERVER \测试
Nodejs代码(不完全是让我知道我如何访问文件):
let fileLocation = "\\myserver\test\file.pdf"
let readStream = fs.createReadStream(fileLocation)
// When the stream is done being read, end the response
readStream.on('close', () =>
{
// End response
response.status('200').end()
// Remove the file
fs.unlinkSync(fileLocation)
})
// Stream chunks to response
readStream.pipe(response)
这在windows上的nodejs中运行时工作正常,但我一直得到一个" ENOENT:没有这样的文件或目录"在nodejs docker容器内运行时出错。我不确定这是Linux OS(节点映像所基于的)还是docker permission / priviledge问题。该文件确实存在。
这是我用来测试我运行容器的命令
docker run --rm -it -p 8080:8080 myapplication:latest
Docker的新功能,但感谢任何帮助!