全局文件到LXC容器?

时间:2014-01-14 11:27:59

标签: linux debian lxc

有没有办法让所有LXC容器都可以访问文件?我有一个SQLite数据库,我想与我的所有容器共享,这可能吗?

1 个答案:

答案 0 :(得分:2)

容易腻。 使用mount bind。

以下是一个例子。

首先,创建一个目录来保存您希望在主机上共享的文件。

mkdir /var/shared

接下来,我们需要在可以挂载的容器中创建一个目录。我在Ubuntu中使用默认位置并有2个容器。一个名为“test1”,另一个名为“test2”。

mkdir /var/lib/lxc/test1/rootfs/var/shared
mkdir /var/lib/lxc/test2/rootfs/var/shared

mkdir /var/lib/lxc/<lxc container name here>/rootfs/var/shared

以上命令是可选的。您可以使用容器中的任何子目录。我说“/ var / shared”。

接下来我们做:

mount -o bind /var/shared /var/lib/lxc/test1/rootfs/var/shared
mount -o bind /var/shared /var/lib/lxc/test2/rootfs/var/shared

要在Host重新启动后保持此持久性,请执行以下操作。

# vi /etc/fstab

添加以下

/var/shared   /var/lib/lxc/test1/rootfs/var/shared   none   rw,bind   0   0
/var/shared   /var/lib/lxc/test2/rootfs/var/shared   none   rw,bind   0   0

再一次,替换test1&amp; test2与您正确命名的容器。

具有mount的所有容器都可以访问放在/ var / shared目录中的任何内容。但由于每个子容器的UID和GID可能不同,因此您可能需要chmod 666来让每个容器的必要用户读/写一些内容。

如果您需要任何进一步的解释或帮助,请发表评论。 -Frank