📅  最后修改于: 2023-12-03 15:02:49.285000             🧑  作者: Mango
lxc fuse 是一个为 Linux 容器 (LXC) 提供 FUSE 支持的工具。通过 lxc fuse,可以在容器内部挂载本地或远程 FUSE 文件系统。
可以通过 apt-get 进行安装:
$ sudo apt-get install lxc-fuse
首先,需要为容器配置 FUSE 权限。在容器的配置文件中添加以下内容:
# Allow FUSE access
lxc.cgroup.devices.allow = c 10:229 rwm
这会将 FUSE 设备的访问权限授予容器。
启动容器时,需要使用 --privileged 参数,否则容器无法访问宿主机上的 FUSE 文件系统。
$ sudo lxc-start -n container --privileged
使用 lxc-fuse 命令可以在容器内部挂载 FUSE 文件系统:
$ sudo lxc-fuse -n container /mnt
这会将容器内的 /mnt 目录与宿主机上的 FUSE 文件系统连接起来。
卸载 FUSE 文件系统也很简单,只需在容器内部使用 umount 命令:
$ sudo umount /mnt
以下是一个示例,演示如何在容器内部挂载 SSHFS 文件系统:
# 在宿主机上安装 SSHFS
$ sudo apt-get install sshfs
# 将当前用户添加到 fuse 用户组
$ sudo adduser $USER fuse
# 重新登录,以便新组成员生效
# 创建一个名为 sshfs 的目录,用于挂载 SSHFS 文件系统
$ mkdir ~/sshfs
# 挂载 SSHFS 文件系统
$ sshfs user@server:/path/to/remote/folder ~/sshfs
# 启动 LXC 容器
$ sudo lxc-start -n container --privileged
# 在容器内部安装 LXC FUSE
$ sudo apt-get install lxc-fuse
# 配置容器
$ echo "lxc.cgroup.devices.allow = c 10:229 rwm" >> /var/lib/lxc/container/config
# 挂载 SSHFS 文件系统
$ sudo lxc-fuse -n container ~/sshfs /mnt
# 在容器内部访问文件系统
$ ls /mnt
# 卸载文件系统
$ sudo umount /mnt
lxc fuse 是一个方便易用的工具,可以使 LXC 容器访问宿主机上的 FUSE 文件系统。使用 lxc-fuse 可以轻松地在容器内部挂载本地或远程 FUSE 文件系统。