无法启动 LXC 容器

Cannot Get LXC Container to Start

我通过 C API 使用 LXC,并简单地复制并粘贴了示例代码(如 link 所示,但将 main 函数名称替换为我自己的).然后从我程序的另一个代码块中调用它,我无法让容器正常启动。

start 的调用只是 returns 错误。如果我将第二个参数start改为0(暗示应该使用lxcinit而不是/sbin/init),然后start "succeeds",但容器状态立即设置为STOPPED ],所以我无法附加到容器。

正在尝试通过设置获取日志:

c->set_config_item(c, "lxc.logfile", "/home/user/lxc-log.log");
c->set_config_item(c, "lxc.logpriority", "TRACE");
c->set_config_item(c, "lxc.console.logfile", "/home/user/lxc-log2.log");
c->set_config_item(c, "lxc.console.logpriority", "TRACE");

只生成空文件。

认为这可能与another issue I saw有关,我也试过设置:

c->set_config_item(c, "lxc.aa_allow_incomplete", "1");

创建一个单独的 C++ 程序并编译它就像一个魅力,但是当我试图从另一个程序中调用它时,通过简单地添加一个函数并调用它(特别是 a uni project),我不能完全正确地达到 运行。

事实证明,我能够通过禁用作为较大项目 tcmalloc 和 asan 的一部分包含的两个包来解决这个问题。