私の頭をこれで叩いていて、助けてくれてありがとう!私は検索し、いくつかの潜在的な解決策を見つけましたが、すべては私のために行くものではありませんでした。Windowsネットワークへの接続Docker Container内のNodeJSからのドライブ
私はWindowsで開発されたnodejsアプリケーションを持っていて、ノード(最新の画像を使用して)のドッカーコンテナで動作しています。アプリケーションは共有Windowsネットワークドライブに接続して読み取り/書き込みを実行する必要がありますが、アプリケーションがドッキングコンテナ内で実行されているときには動作していないようです(ドッカーの外にあるWindowsマシンで実行されているときに問題ありません) 。
ネットワークドライブの共有フォルダは、次のようになります。誰にでも共有:
\\ MYSERVER \テスト
Nodejsコード(なく、かなりしかし、あなたは私がファイルにアクセスしています方法のアイデアを与える):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)
これは正常に動作しますしかし、nodejsドッカー・コンテナ内で実行すると、 "ENOENT:no such file or directory"エラーが表示され続けます。私はこれがLinuxのOS(ノードイメージが基づいている)か、ドッカーの許可/特権の問題かどうかはわかりません。ファイルは存在します。
これは私がドッキングウィンドウにコンテナ
docker run --rm -it -p 8080:8080 myapplication:latest
に新を実行しているんだけど、すべてのヘルプは高く評価されたときにテストするために使用しているコマンドです!
お返事ありがとうございます。これは私が昨日やったことです。ボリュームをマウントしてその方法にアクセスする。それはもう一つのステップですが、うまくいきます。ありがとう! – Potentiator