tag: lxc lxd container linux date: 2018-04 本文基于 ubuntu 16.04 操作。 LXD 是什么 很多人可能不知道 LXD,但可能听说过老牌容器 LXC(远早于 docker)。 [LXC][] 由 [Canonical Ltd][] 和 [Ubuntu][] 开发维护,其灵感可能来自 [OpenVZ][] 等轻量级虚拟机(容器)。 原有的 LXC 工具比较难用(需要用户了解一些底层知识),同时开发团队想要修改(优化)一些默认配置和特性(如安全增强,默认创建非特权容器)。 为了保持兼容性,不宜在旧的已有 LXC 工具(如 lxc-create , lxc-start 等)上动刀,于是新设计封装了一套上层运维操作工具,即 [LXD][]。 LXC 使用 C 开发,LXD 使用 golang 开发。早期版本的 docker 其实也是基于 LXC 封装,LXD 可能也借鉴了 docker 的一些思想。 LXD 拆分为 daemon(命令为 lxd )和客户端(命令为 lxc )两部分。 LXD 的定位很清晰:系统容器,直接对标虚拟机 ,甚至可以直接运行虚拟机镜像(但是不启动内核)。 系统容器运行整套操作系统(再说一次,除了内核),应用容器(如 docker)运行应用,两者不冲突。 可以在 LXD 容器里安装和使用 docker