我通过C API使用LXC,只需复制并粘贴示例代码(如该链接所示,但用我自己的main
函数名替换)。然后在我的程序中的另一个代码块中调用它,我无法让容器正常启动。
对start
的调用只会返回false。如果我将第二个参数更改为0(意味着应该使用lxcinit
而不是/ sbin / init),那么启动"成功",但容器状态立即设置为{{ 1}},所以我无法附加到容器上。
通过设置尝试获取日志:
STOPPED
只生成空文件。
认为这可能与another issue I saw有关,我也尝试过设置:
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");
创建一个单独的C ++程序,并编译它就像一个魅力,但当我尝试从另一个程序中调用它时,只需添加一个函数并调用它(特别是a uni project),我就无法得到它完全正常运行。
答案 0 :(得分:0)
事实证明,我能够通过禁用作为较大项目tcmalloc和asan的一部分而包含的两个软件包来解决此问题。