gpt4 book ai didi

python - 为什么 lxc 在 lxc-webpanel 中可以按预期运行,而不是在 CLI 或 python 中运行?

转载 作者:太空宇宙 更新时间:2023-11-04 03:41:35 29 4
gpt4 key购买 nike

观察结果:

  1. lxc-webpanel功能符合预期
  2. 从命令行界面发出 lxc 命令并返回非零退出状态 1
  3. 从 python 解释器中的 lxclite 模块调用的函数引发异常

问题:

如何找到允许 lxc-webpanel 按预期运行的缺失因素?当我在 bash shell 中发出 lxc 命令时,或者当我从 python 解释器调用 lxc-webpanel 执行的相同定义时,lxc 命令会失败。

目标:

能够使用 bash CLI 或 python session 来管理 lxc 容器

系统信息:

  • 没有可用的 LSB 模块。
  • 发行商 ID:Ubuntu
  • 描述:Ubuntu 14.04.2 LTS
  • 发布:14.04
  • 代号:值得信赖
  • uname -r:3.13.0-35-powerpc64-smp

使用 lxc-webpanel 创建了一个名为“test-container”的容器。

观察1:lxc-webpanel试用截图

观察 2:来自 bash CLI 的 lxc 命令

  • 在:lxc-info -qn test-container

    输出:

test-container doesn't exist

  • 在:lxc-attach --name test-container

    输出:

attach.c: lxc_attach: 635 failed to get the init pid

观察 3:来自 ipython3 的 lxclite def 调用

  • 在:
    将 lxclite 导入为 lxc
    容器 = '测试容器'
    lxc.info(容器)

ContainerDoesntExists Traceback (most recent call last) in () ----> 1 lxc.info(container)

../../python3_dev/_lxc/lxclite/init.py in info(container) 122 if not exists(container): 123 raise ContainerDoesntExists( --> 124 'Container {} does not exist!'.format(container)) 125 126 output = _run('lxc-info -qn {}|grep -i "State\|PID"'.format(container),

ContainerDoesntExists: Container test-container does not exist!

注意:lxc-checkconfig 输出:

Kernel configuration not found at /proc/config.gz; searching...

Kernel configuration found at /boot/config-3.13.0-48-powerpc64-smp

--- Namespaces ---

Namespaces: [enabled]

Utsname namespace: [enabled]

Ipc namespace: [enabled]

Pid namespace: [enabled]

User namespace: [enabled]

Network namespace: [enabled]

Multiple /dev/pts instances: [enabled]

--- Control groups ---

Cgroup: [enabled]

Cgroup clone_children flag: [enabled]

Cgroup device: [enabled]

Cgroup sched: [enabled]

Cgroup cpu account: [enabled]

Cgroup memory controller: [enabled]

Cgroup cpuset: [enabled]

--- Misc ---

Veth pair device: [enabled]

Macvlan: [enabled]

Vlan: [enabled]

File capabilities: [enabled]

Note : Before booting a new kernel, you can check its configuration

usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig

最佳答案

这条评论❝The user id in the lxc instance should equal the user id in the host.❞引导我找到了解决方案。

当我以 root 身份运行 IPython session 时,一切都按预期运行。呃!

ps -aux | grep python

root 1327 0.0 0.4 18956 13188 ? S 09:55 0:00 /usr/bin/python /srv/lwp/lwp.py

sudo lxc-info --name test-container

Name: test-container

State: STOPPED

关于python - 为什么 lxc 在 lxc-webpanel 中可以按预期运行,而不是在 CLI 或 python 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29446847/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com