Я использую LXC через C API и просто скопировал и вставил примерный код (как показано в этой ссылке, но заменил имя функции main
моим собственным). Затем, вызывая это из другого кода кода в моей программе, я не могу запустить контейнер правильно.Не удается запустить контейнер LXC
Вызов start
просто возвращает значение false. Если я изменил второй параметр, чтобы начать с 0 (подразумевая, что вместо/sbin/init следует использовать lxcinit
), тогда запуск «успешно завершается», но состояние контейнера сразу устанавливается на 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++. Можно воспроизвести мою проблему, построив проект, на который я ссылаюсь, вызвав описанную мной функцию (также связанную). Я пытаюсь определить минимальный случай для создания этой проблемы и буду держать сообщение в курсе, как моя работа развивается. –