Windows で docker を使用しており、src ディレクトリは(COPY ではなく) docker コンテナー内のネットワーク共有としてマウントされています。したがって/var/app/server
、ドッカーの内部には、実際にはネットワーク共有があり、ホスト上の実際の場所は ですC:\...project\server
。[補足として、docker が Linux でどのように機能するかについてはよくわかりません。Linux でのマウントにもネットワーク共有をまだ使用しているのでしょうか? そうでない場合、これは単にWindowsの問題である可能性があるため]
を使用するbabel-watchを使用していmkfifo
ます.dockerコンテナ(VM)内で実行されているため、mkfifoはそのネットワーク共有ディレクトリにファイルパイプを作成できません。[補足: babel-watch は、mkfifo.exe ユーティリティを持つ cygwin を使用して docker 外部の Windows で実際に動作します]
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?
これに対する回避策はありますか?
私はbabel-watchソースを編集して、mkfifoが代わりにファイルを作成するよう/var/app
にしようとしました/var
(それはまだdockerコンテナの領域内にあります)。この方法mkfifo
は実際には機能しますが、ファイルの変更はbabel-watchによって見られません。基本的に、ファイルの変更情報は、ネットワーク共有バリア/var/app/server
(マウント ポイント) を/var/app
(docker 内の実際のディレクトリ) に伝達することができないと思います。