在正在运行的 LXC 中执行命令

在正在运行的 LXC 中执行命令

我想在现有的 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 命令,但当前页面出现故障。这篇文章描述了过程:

https://www.mail-archive.com/[电子邮件受保护]/msg01970.html

相关内容