さて、WSLを触って大満足な現在ですが、
WSL内のフォルダを外部共有したいといじっていて
どうしてもできない(涙)とあきらめかけていました。
これをやりたい理由ですが、noderedのstaticなファイル置き場
を共有してデプロイフォルダにしたかったからです。
開発はvscodeでやって本番デプロイは共有においてねと
やれば、即noderedのwebサーバーはhtmlファイルを表示してくれます。
noderedの静的コンテンツの表示機能は大変便利なものです。
dashboardを使っていてもフロントエンドのhtmlファイルを置いて共存できますね。
ということでwsl内のnoderedに共有フォルダを定義しないといけないと
頭が凝り固まっていました。
sambaをインストールして共有フォルダを公開までしても、
wslなのでwindows側の共有機能とポートが被ってしまいます。
前回書いたように、bridge機能で起動すれば別IPになるので、
そこでwslの共有フォルダを公開することはできます。
でもそれですと中のnicが1つになってしまって中からすべてのnicにアクセス
できないことが判明。 (逆に複数nic対応できればこの問題はこれで解決)
なのでmirroredモードでシームレスになるとベストですが、wsl側のフォルダ
を公開できない......
ここまで書いて「頭堅い人だな....」と気づいた人はすごい。
そう、発送の逆転でした。
「windows側でフォルダを共有できるのは当たり前なのだから
素直にそれ使えばいいじゃない?」
ですね。
wsl側は /mnt/c/hogee でcドライブが見えるのでそれをnodered
の静的コンテンツ置き場に指定すればよかったのです。
さらには/mnt/cに抵抗がある私みたいは人はシンボリックリンクを貼って
ln -s /mnt/c/hoge /home/user1/hoge
として /home/user1/hogeをnoderedの定義に書いておけばOKでした。
これでnoderedの静的コンテンツフォルダを公開できました。
頭がlinux使いになっていると気づかないパターンですね。
せっかくのwslなので両者の便利な機能を使わないといけません。
なのでPowerShellもどんどん触っていきましょう。
Windows11にあるWindows Terminalは
PowerShell,Ubuntu,Command Promptどれも一発で起動できて
とても便利なツールですね。
ではでは。