如何在两个兼容主机之间共享 LXC 容器?

如何在两个兼容主机之间共享 LXC 容器?

我使用 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它为您封装了所有这些并使容器易于移植(以及许多其他很棒的东西)。

相关内容