我使用 Linux,并且正在从 Linux Mint 15 迁移到 Linux Mint 16。每个操作系统都安装在同一个分区上,作为同一个 btrfs 分区上的不同子卷。
由于我目前使用这两个系统,所以我想在这两个发行版之间共享所有 LXC 容器。
我将整个/var/lib/lxc/<container>
路径深度复制到单独的 btrfs 子卷。
令人惊讶的是,这并不像看起来那么简单。每次我以任何形式将容器源链接到主机上的 /var/lib/lxc/ 时,都会收到错误 ( lxc-start: command get_init_pid failed to receive response
)。不幸的是,任何形式的委托(符号链接、mount --bind)都不起作用。
复制容器rsync -aAX
效果很好,但我不想维护容器的两个独立实例,而是在两个主机操作系统之间共享一个实例。
答案1
尝试从 lxc 获取调试输出:
lxc-start -n container_name -o container.log -l DEBUG -d
可能会有更多的信息。
还要检查 lxc 版本,最近开发中取得了相当大的进展,如果您正在运行类似lxc 1.0.0.alpha1
或更早的版本,则应该考虑升级。
答案2
你应该看看Docker它为您封装了所有这些并使容器易于移植(以及许多其他很棒的东西)。