事象
DockerのVolumeでホストと共有しているファイルを削除する、リネームする(あるいは編集だけでも?)と、フリーズ、あるいは読み取りがロックされているかのような挙動が発生する(下記参照)。
- ブラウザから当該ファイルを取得しようとすると、そのファイルがずっとpendingになって取得できない。
- コンテナの中に入って当該ファイルを確認しようとしても、そのファイルがあるディレクトリでlsコマンドを打つと結果がずっと返ってこない。
- docker-compose downなどしても、結果が返ってこずタイムアウトする。
- Dockerを再起動する以外に解決方法はない。
環境はこんな感じ。
- macOS Big Sur 11.5.1
- Docker Desktop 4.5.0
対策
原因はさっぱりですが・・・Docker DesktopのPreferences→Generalで、「Use gRPC FUSE for file sharing」のチェックを入れると治ります。