【发布时间】:2016-01-23 16:55:39
【问题描述】:
我通过 C API 使用 LXC,并且只是复制并粘贴了示例代码(如该链接所示,但将 main 函数名称替换为我自己的)。然后从我程序的另一个代码块中调用它,我无法让容器正常启动。
对start 的调用只返回false。如果我将第二个参数改为0(暗示应该使用lxcinit而不是/sbin/init),然后启动“成功”,但容器状态立即设置为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),我无法让它运行完全正确。
【问题讨论】:
-
我首先决定选择一种语言,然后删除另一种语言的标签。然后,阅读其他标签的描述并确定它们是否合适。然后,阅读发布指南并为其他人提供足够的信息来重现您的问题。不过要准确!
-
我想说这两种语言都很有用,因为 API 是用于 C 的,但我们正在开发的项目是用 C++ 编写的。可以通过构建我链接到的项目来重现我的问题,调用我描述的函数(也链接)。我正在尝试确定创建此问题的最小案例,并将随着我的工作的发展保持帖子的最新状态。
标签: c++ c containers lxc