サーバ

DockerでiCloudドライブ上のファイルをマウントできず Error response from daemon: Mounts denied: approving *** が発生する

標題の通り、dockerの -v オプションでホストのファイルをマウントしようとしたら以下のエラーが出て出来ません。

docker run -v "/Users/yusuke/Library/Mobile\ Documents/com~apple~CloudDocs/opensource/dockertest/hoge/":/tmp/hoge/ test
docker: Error response from daemon: Mounts denied: approving /Users/yusuke/Library/Mobile\ 
Documents/com~apple~CloudDocs/opensource/dockertest/hoge: file does not exist.

調べたところDockerの設定で、Experimental Features | Use gRPC FUSE for file sharing、をオフ(ノブを左側)にしてApply & Restartすれば解消。

以下の通り。

 % docker run -v "/Users/yusuke/Library/Mobile Documents/com~apple~CloudDocs/opensource/dockertest/hoge/":/tmp/hoge/ test
Hello World
true

てっきり "Mobile Documents"に入っているスペースをうまく扱えなくなったのかと思ったけどダブルクオートで囲ってもスペースの前にバックスラッシュを入れてもちゃんと働きます。

 % run -v /Users/yusuke/Library/Mobile\ Documents/com~apple~CloudDocs/opensource/dockertest/hoge/:/tmp/hoge/ test 
Hello World
true

参考:
after updating docker desktop, local changes are no longer detected
2.4.0.0 fails to mount source path with "Use gRPC FUSE for file sharing" turned on #4959

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です