如何在 LXC 容器和主机之间共享目录?

Max*_*Max 17 mount virtualization symbolic-link lxc

如何在主机系统(ubuntu 14.04)和 ubuntu lxc 容器之间共享文件夹?

我尝试在主机上安装文件夹:

sudo mount --bind /media/data/share /media/data/container/name/rootfs/share
Run Code Online (Sandbox Code Playgroud)

但我看不到任何文件。

这同样适用于:

sudo ln -s /media/data/share /media/data/container/name/rootfs/share
Run Code Online (Sandbox Code Playgroud)

我需要更改共享文件夹的权限吗?

Jor*_*tro 16

根据LXC 文档,您可以通过特权容器执行此操作:

lxc launch ubuntu priv -c security.privileged=true
lxc config device add priv homedir disk source=/home/$USER path=/home/ubuntu
Run Code Online (Sandbox Code Playgroud)


Max*_*Max 12

我在 openSUSE wiki 中找到了一篇文章:https ://en.opensuse.org/User:Tsu2/ LXC_mount_shared_directory

我按照步骤操作,现在可以使用了。

创建主机目录:

mkdir /media/data/share && chmod 7777 /media/data/share
Run Code Online (Sandbox Code Playgroud)

在 lxc 容器中创建目录:

mkdir /share
Run Code Online (Sandbox Code Playgroud)

在主机上编辑 lxc 配置文件:

nano /var/lib/lxc/containername/config
lxc.mount.entry = /media/data/share share none ro,bind 0.0
Run Code Online (Sandbox Code Playgroud)

  • 如果在“bind”后面添加“,create=dir”,则不需要创建挂载点。我还删除了“ro,”部分,它似乎工作得很好。 (2认同)