带有 Overlayfs/Squashfs 的 LXC 容器

带有 Overlayfs/Squashfs 的 LXC 容器

我们使用 Centos LXC 容器,其 rootfs 包含在 squashfs 文件系统中。我真的很喜欢这样一个事实:用户无法从主机编辑 rootfs。

在开发过程中,开发人员实际上希望对文件系统进行更改,而我想转向 Overlayfs。但我注意到,虽然上层可以用来对下层进行更改,但也可以通过简单地编辑主机上的文件来对下层 rootfs 进行更改。我怎样才能防止这种情况发生?

答案1

lxc.pre.mount 在 rootfs 加载之前执行:

lxc.hook.pre-mount = /var/lib/lxc/container0/mount-squashfs.sh
lxc.rootfs.path = overlayfs:/var/lib/lxc/container0/rootfs:/var/lib/lxc/container0/delta0

在挂载脚本中:

#!/bin/bash
mount -nt squashfs -o ro /var/lib/lxc/container0/rootfs.sqsh /var/lib/lxc/container0/rootfs

相关内容