首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法在Docker中运行LXD?

有没有办法在Docker中运行LXD?
EN

Stack Overflow用户
提问于 2017-05-02 23:21:33
回答 2查看 2.3K关注 0票数 3

有没有办法在Docker中运行LXD?例如:

在安装了ubuntu 16.04的主机上:

代码语言:javascript
运行
复制
docker run --rm -it --net host --privileged ubuntu bash

在容器中:

代码语言:javascript
运行
复制
apt update && apt install -y lxd iproute2 btrfs-tools screen bash-completion curl wget apt-transport-https lxcfs lxd-tools lxd-client vim overlayroot libkmod2 libkmod-dev cgroup-tools cgroupfs-mount cgroup-bin

screen -S lxd
# in screen
lxd --debug --group lxd


lxd init
lxc list
lxc launch ubuntu:16.04 test

LXD守护进程可以工作,但由于cgroups出错,我无法启动LXD容器。

代码语言:javascript
运行
复制
error: Error calling 'lxd forkstart test /var/lib/lxd/containers /var/log/lxd/test/lxc.conf': err='exit status 1'
  lxc 20170502151757.409 ERROR lxc_apparmor - lsm/apparmor.c:apparmor_process_label_set:220 - If you really want to start this container, set
  lxc 20170502151757.409 ERROR lxc_apparmor - lsm/apparmor.c:apparmor_process_label_set:221 - lxc.aa_allow_incomplete = 1
  lxc 20170502151757.409 ERROR lxc_apparmor - lsm/apparmor.c:apparmor_process_label_set:222 - in your container configuration file
  lxc 20170502151757.409 ERROR lxc_sync - sync.c:__sync_wait:57 - An error occurred in another process (expected sequence number 5)
  lxc 20170502151757.409 ERROR lxc_start - start.c:__lxc_start:1346 - Failed to spawn container "test".
  lxc 20170502151757.954 ERROR lxc_conf - conf.c:run_buffer:405 - Script exited with status 1.
  lxc 20170502151757.954 ERROR lxc_start - start.c:lxc_fini:546 - Failed to run lxc.hook.post-stop for container "test".

我也试过了:

代码语言:javascript
运行
复制
--cap-add=ALL
--volume /dev:/dev
--pid=host
--volume /sys/fs/cgroup:/sys/fs/cgroup
EN

回答 2

Stack Overflow用户

发布于 2018-08-01 04:09:31

可以在docker中运行lxc,因此也应该可以运行lxd。该错误指示您需要添加行

代码语言:javascript
运行
复制
lxc.aa_allow_incomplete = 1

添加到容器配置中。

我做了一个概念验证,展示了如何在docker容器中轻松地运行lxc容器:https://github.com/micw/docker-lxc-demo

票数 4
EN

Stack Overflow用户

发布于 2017-07-07 22:11:14

编号:

LXD/LXC提供了一个全栈Linux环境。Docker是一个允许您包装应用程序和依赖项的引擎。

Docker提供了一个受约束的环境,该环境故意禁用与网络和存储持久性相关的某些操作系统功能。

您可以在LXD/LXC容器中运行Docker (实际上Docker曾经使用LXC作为其底层技术--现在可能仍然是这样),但您不会在Docker容器中运行LXC容器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43741660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档