【问题标题】:Why does lxc function as expected with lxc-webpanel and not from either CLI or python?为什么 lxc 使用 lxc-webpanel 而不是 CLI 或 python 可以按预期运行?
【发布时间】:2015-06-09 09:48:48
【问题描述】:

观察

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

问题

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

目标

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

系统信息

  • 没有可用的 LSB 模块。
  • 分销商 ID:Ubuntu
  • 说明:Ubuntu 14.04.2 LTS
  • 发布:14.04
  • 代号:可信赖
  • uname -r: 3.13.0-35-powerpc64-smp

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

观察一:lxc-webpanel 试用截图

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

  • 在:lxc-info -qn test-container

    输出:

测试容器不存在

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

    输出:

attach.c: lxc_attach: 635 获取初始化 pid 失败

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

  • 在: import lxclite as lxc container = 'test-container' lxc.info(container)

ContainerDoesntExists Traceback(最近调用 最后)在() ----> 1 lxc.info(容器)

../../python3_dev/_lxc/lxclite/init.py in info(container) 122 如果不存在(容器): 第123章 --> 124 '容器 {} 不存在!'.format(container)) 125 126 输出 = _run('lxc-info -qn {}|grep -i "State\|PID"'.format(container),

ContainerDoesntExists:容器测试容器不存在!

注意:lxc-checkconfig 输出:

在 /proc/config.gz 中找不到内核配置;正在搜索...

内核配置位于 /boot/config-3.13.0-48-powerpc64-smp

--- 命名空间 ---

命名空间:[启用]

Utsname 命名空间:[启用]

Ipc 命名空间:[启用]

Pid 命名空间:[启用]

用户命名空间:[启用]

网络命名空间:[启用]

多个 /dev/pts 实例:[已启用]

--- 对照组---

Cgroup:[启用]

Cgroup clone_children 标志:[启用]

Cgroup 设备:[已启用]

Cgroup sched: [启用]

Cgroup cpu 帐号:[已启用]

Cgroup 内存控制器:[启用]

Cgroup cpuset:[启用]

--- 杂项 ---

Veth 配对设备:[已启用]

Macvlan:[启用]

Vlan:[启用]

文件功能:[启用]

注意:在启动新内核之前,您可以检查其配置

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

【问题讨论】:

    标签: python linux bash ubuntu lxc


    【解决方案1】:

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

    当我以 root 身份运行 IPython 会话时,一切都按预期运行。呵呵!

    ps -aux | grep python

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

    sudo lxc-info --name test-container

    名称:测试容器

    状态:已停止

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多