如何使用 LXD 运行 Snappy / ubuntu-core 镜像

如何使用 LXD 运行 Snappy / ubuntu-core 镜像

我想在 LXC 容器中运行 Ubuntu Snappy。

默认情况下没有现有的 snappy 图像https://images.linuxcontainers.orgrepo,但我想知道其他人是否尝试过这个以及我需要做什么才能开始。

就上下文而言,我感兴趣的是运行系统容器中的 snappy(通过本地开发的 cli 上的 lxd 和共享环境的 openstack)作为使用 Docker 运行应用程序容器的主机操作系统。

答案1

LXD snappy 软件包目前尚未作为 LXC 的通用发布镜像提供。不过,目前有一个 snap 包可用于在 snappy 上测试 LXD - stgraber 已在此处发布了相关信息:

https://plus.google.com/+St%C3%A9phaneGraber/posts/aX6vogzEQ1X

相关部分:

A binary for amd64 can be downloaded at:
    https://dl.stgraber.org/lxd_0.11-git0_amd64.snap

Then installed with:
    snappy-remote --url=ssh://localhost:8022 install lxd_0.11-git0_amd64.snap

但这只能帮助您开始在 snappy 上运行其他容器,而不能在 LXD 中加载 snappy。

开始对话以了解您想要做什么的一个好地方是 LXD 的 ubuntu 邮件列表,或者针对 LXD 项目提交一个错误,请求发布一个 snappy 图像以供使用,然后团队可以在其中构建一个图像,或者请求 CPC 构建一个。

除此之外的任何事情都将是手动构建 LXC rootfs 并将其容器化的练习。YMMV

答案2

现在支持此功能: lxc launch images:ubuntu-core/16/amd64 ubuntu-core

来源@stgraber

https://stgraber.org/2017/01/31/ubuntu-core-in-lxd-containers/

答案3

由于内核对 apparmor 和非特权 squashfs 的限制(这两者都是 Ubuntu Core 安全模型所必需的),目前无法在 LXD 或 LXC 容器内运行 snappy。

这是我们很快就能实现的功能,但似乎不太可能在 Ubuntu 16.04 中实现它,而且它目前也不在我们的路线图上。

相关内容