Spin up isolated Linux development environments on your laptop without dedicating a separate physical machine to each one.
Run a cluster of containers and VMs across multiple physical servers in a data center from a single management interface.
Manage container infrastructure with Ansible or Terraform using LXD's REST API and official integrations.
Test software across different Linux distributions by launching pre-built images for Ubuntu, Debian, and other distros.
| canonical/lxd | seldonio/seldon-core | googlecodelabs/tools | |
|---|---|---|---|
| Stars | 4,749 | 4,748 | 4,751 |
| Language | Go | Go | Go |
| Setup difficulty | moderate | hard | moderate |
| Complexity | 4/5 | 5/5 | 2/5 |
| Audience | ops devops | data | developer |
Figures from each repo's GitHub metadata at analysis time.
LXD daemon only runs on Linux, the lxc client is available on Windows and macOS for remote management only, not local container hosting.
LXD is a tool for running and managing containers and virtual machines on Linux. A container is a way to run a complete Linux operating system in an isolated space on your computer without dedicating a full separate machine to it. Virtual machines do the same thing but with stronger isolation, using the hardware-level separation that your processor supports. LXD lets you create, start, stop, and configure both types from a single command-line tool and API. The project is developed by Canonical, the company behind Ubuntu. It is built around a REST API, meaning other software can talk to it over a network using standard web request patterns. This makes it possible to manage LXD from Ansible, Terraform, Packer, and similar tools that many operations teams already use. There are also official SDK packages for Go and Python if you want to build your own integrations. LXD scales from a single machine to a cluster of servers in a data center. On a single machine you might use it to keep different development environments isolated from each other. In a data center you might use it to run many workloads across a cluster of physical servers. Canonical offers long-term support releases that receive five years of updates, and commercial support is available through Ubuntu Pro. Installing on Linux is done through a Snap package with one command. A command-line client called lxc is available on Windows and macOS as well, though the main LXD daemon that runs containers only works on Linux. Pre-built system images are provided for Ubuntu and a range of other Linux distributions. The README includes a note on security: anything with access to LXD through its Unix socket has full administrative control, equivalent to root access on the host system. The project documentation recommends restricting that access and avoiding privileged containers unless there is a specific reason to use them.
Canonical's tool for creating and managing Linux containers and virtual machines from a single command-line interface and REST API, scaling from a single laptop to a multi-server cluster.
Mainly Go. The stack also includes Go, REST API, Snap.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.