原因
It looks like I may be the first to try and export nfs shares on macOS 10.15 Catalina. It’s borked. Work around: prefix your shared dir with /System/Volumes/Data/
— Matt Brenneke (@mbrennek) June 12, 2019
i.e. change /etc/exports to
/System/Volumes/Data/usr/local -alldirs -mapall=501:20 192.168.99.100
- NFS パスの先頭に
/System/Volumes/Data/
をつけることで回避できる
対応手順
/etc/exports
を編集する
要 root
/etc/exports_変更例.diff
- "/Users/user/hoge/fuga" localhost -alldirs -mapall=501:20
+ "/System/Volumes/Data/Users/user/hoge/fuga" localhost -alldirs -mapall=501:20
- パスの先頭に
/System/Volumes/Data
を追加した形 -
nfsd checkexports
でエラーがないか確認できる
変更を反映
sudo nfsd restart
-
showmount -e
でエクスポートしているディレクトリ一覧が確認できる- 何も出てこないと間違っている可能性がある
Docker や Vagrant の NFS 設定を更新
- NFS の設定パスの先頭に
/System/Volumes/Data/
を追加- 下記は手元の
docker-compose.yml
の例
- 下記は手元の
- 変更後 docker-compose を再読み込み
docker-compose.yml.diff
driver: local
driver_opts:
type: nfs
o: addr=host.docker.internal,actimeo=1
- device: ":${PWD}/app/hoge"
+ device: ":/System/Volumes/Data${PWD}/app/hoge"