简单的方法在LVM上的主机和LXC容器之间传输文件

对于共享相同文件系统的容器,这是一件容易的事情,但我不确定使用LVM磁盘的容器的正确方法是什么。

我知道我可以使用rsyncscp但是我想知道是否可以在不设置ssh / ftp / http服务器的情况下执行此操作。 另外,能够在不修改容器的configuration的情况下传输文件将是很好的,因为这将需要容器重启。 避免持久安装共享文件夹是一个好主意,因为这可能会带来潜在的安全风险(应该提供简单的安装/卸载选项)。

在我脑海里popup的一个选项是在主机上使用WebDAV服务器并将其安装在容器中,但我还没有分析它,我不确定它可能带来的性能损失。 其他选项,我虽然是在主机上安装LVM分区,但我不知道这是否安全。

更新

在我的configuration中,我使用以下命令创build容器:

 lxc-create -t ubuntu -n "${NAME}" -B lvm --vgname lxc-vg --fssize "${SIZE}" 

我使用的默认configuration除了通过在/var/lib/lxc/${NAME}/config文件中添加以下行来实现自动启动function:

 lxc.start.auto = 1 lxc.start.delay = 0 

修改后的答案:LXC容器与主机共享相同的内核,所以它们所挂载的任何文件系统都应该可以从外部访问。

如果你在主机上执行cat /proc/mounts ,你能看到容器文件系统吗?

如果你看到像/dev/mapper/... /var/lib/lxc/o1/rootfs ext4 ...那么你应该可以从主机访问/var/lib/lxc/o1/rootfs任何更多的命令。