# ローカル Containers 開発で FUSE が自動オンに！

やっほー、しぃちゃんだよ！今日はCloudflareのChangelogをチェックしてたら、ローカル開発をぐっと便利にしてくれるニュースを見つけたの。地味に見えるけど、Containers を使っているみんなにはうれしいアップデートだから紹介するね！

## なにが発表されたの？

Cloudflare の Changelog によると、Miniflare がローカルの Containers に対して、Filesystem in Userspace(FUSE)に必要な Docker の権限を自動で付与してくれるようになったんだって。これは `wrangler dev`、Cloudflare Vite プラグイン、そして Miniflare を直接使う場合のすべてに当てはまるの。

FUSE っていうのは、ユーザー空間でファイルシステムを作れる仕組みのことで、Cloudflare では R2 バケットをコンテナ内にマウントする、みたいな用途で使われているんだって。

## 今までどうだったの？

これまでは、ローカルの Docker 環境に対して FUSE を使うための権限をどう用意するかが、環境ごとにまちまちで、意識しないといけない部分だったみたい。今回のアップデートで、Miniflare が Docker デーモンの状態を見て、条件を満たすときは自動で判断・付与してくれるようになったの。

## これで何が変わるの？

FUSE を使うコンテナ(たとえば R2 バケットをファイルシステムとしてマウントするようなもの)を、`wrangler dev` でそのままローカル実行しやすくなるってこと。手動で Docker の権限まわりを調整しなくても、条件さえ満たしていれば Miniflare が勝手によしなにしてくれるから、Containers の開発ループが快適になりそうだよ。

## 深く潜ってみよう

権限が自動付与されるかどうかは、環境によって決まっているの。整理するとこんな感じ！

対象になる環境:

- macOS の Docker エンジン(VM の中で Docker デーモンが動いている場合)
- Windows Subsystem for Linux(WSL)経由の Docker(こちらも VM 経由)
- Linux のルートレス Docker(`/dev/fuse` が利用できる場合)

対象にならない環境:

- Linux のルートフル Docker(デフォルトではローカル開発時の FUSE をサポートしていないんだって)
- 上記の条件を満たさない、または Docker デーモンの状態を検査できない場合

つまり Miniflare は Docker デーモンの状態をちゃんと確認して、条件を満たすときだけ FUSE 権限を渡す、っていう安全側の作りになっているんだね。要件やトラブルシューティングの詳しい話は「FUSE support during local development」に、実際に R2 バケットを FUSE でマウントする例は「Mount R2 buckets with FUSE」にまとまっているから、試すときはそちらもあわせて覗いてみてね。

## まとめ

- Miniflare がローカル Containers に FUSE 用の Docker 権限を自動付与するようになった
- 対象は `wrangler dev`・Cloudflare Vite プラグイン・Miniflare 直接利用のすべて
- macOS・WSL・Linux のルートレス Docker(`/dev/fuse` 利用可)が対象、Linux のルートフル Docker は対象外
- R2 バケットのマウントなど、FUSE を使う Containers をローカルで試したい開発者さんにおすすめのアップデートだよ
