我想在现有的 lxc 中执行命令,而不需要经过常规的 Linux init。lxc-execute
我猜想该命令就是为了这个目的,但是当我在现有的测试 lxc 上运行此命令时,出现以下错误。
sudo lxc-execute -n test -- service apache2 start
我收到以下错误:
lxc-execute: Failed to find an lxc-init
lxc-execute: invalid sequence number 1. expected 4
lxc-execute: failed to spawn 'test'
答案1
你有没有尝试过lxc-attach
反而?根据文档,
lxc-attach - 在正在运行的容器内启动进程。
列出home
容器内所有文件夹的示例
lxc-attach -n myContainer -- ls -lh /home
如果未定义进程,它将在容器内创建一个新的 shell。
答案2
lxc-execute
旨在创建并运行 lxc 容器并执行命令。因此它不能用于执行当前设置和启动的命令。
引自 Serge E. Hallyn @https://www.mail-archive.com/[电子邮件受保护]/msg00134.html
将现有进程移动到现有的、已填充的命名空间中可能永远不可能。
您可以尝试 Ullrich Horlacher 的 lxc 命令,但当前页面出现故障。这篇文章描述了过程: