Learn how to use LXD to deploy containers

LXD is a next-gen, image-based container deployment software. Jack Wallen walks you thru the method of putting in LXD and deploying a container.


There are such a lot of gamers within the container recreation, it is changing into a problem to decide on which one is best for you. There’s Kubernetes, Docker, Multipass, rktlet, containerd … the record goes on. There’s one other software you need to use, one which’s a bit much less acquainted, that may deploy containers in a kind of digital machine sort of trend. LXD is an image-based container deployment software that’s much like Multipass, however with just a few extra configuration choices throughout initialization. 

LXD provides loads of admin-appealing options, comparable to:

  • Secured utilizing unprivileged containers, useful resource restrictions and way more

  • Scalable as much as 1000’s of compute nodes

  • Intuitive with an easy CLI

  • Quite a few photographs from which to tug

  • Cross-host container and picture switch help

  • Superior useful resource management for cpu, reminiscence, community I/O, block I/O, disk utilization and kernel sources

  • Machine passthrough for USB, GPU, unix character and block units, NICs, disks and paths

  • Community administration for bridge creation and configuration, cross-host tunnels, and extra

  • Storage administration help for a number of storage backends, storage swimming pools and storage volumes

  • Makes use of LXC by means of liblxc and its Go binding to create and handle the containers

I wish to stroll you thru putting in LXD after which deploying your first container. I will be demonstrating (oddly sufficient) on a Ubuntu 18.04 container deployed by way of Multipass. So we’re deploying a container inside a container. Though I do not truly advocate utilizing LXD on this methodology, it is enjoyable to seek out out simply how far you may push some know-how.

What you may want

Learn how to set up LXD

The very first thing to be accomplished is the set up of LXD. As this software is present in the usual repositories, it may be put in with the only command:

sudo apt-get set up lxd -y

As soon as put in, you may want so as to add your person to the lxd group with the command:

sudo usermod -aG lxd $USER

You’ll be able to both logout and log again in, or subject the next command to use the adjustments:

newgrp lxd

You are now able to deploy your first container.

Learn how to arrange LXD

Now that LXD is put in, you need to do a little bit of organising. To try this, subject the command:

sudo lxd init

You’ll then be requested quite a few questions. Until you want a selected configuration on your setup, the defaults ought to work simply effective. These questions are:

  • Would you want to make use of LXD clustering?

  • Do you wish to configure a brand new storage pool?

  • Title of the brand new storage pool.

  • Title of the storage backend to make use of.

  • Create a brand new ZFS pool?

  • Would you want to make use of an current block system?

  • Measurement in GB of the brand new loop system?

  • Would you want to hook up with a MAAS server?

  • Would you wish to create a brand new native community bridge?

  • What ought to the brand new bridge be referred to as?

  • What IPv4 tackle ought to be used?

  • What IPv6 tackle ought to be used?

  • Would you want LXD to be out there over the community?

  • Handle to bind LXD to.

  • Port to bind LXD to.

  • Belief password for brand new shoppers.

  • Would you want stale cached photographs to be up to date routinely?

  • Would you want a YAML “lxd init” preseed to be printed?

As soon as you’ve got answered the entire above questions, you might be able to launch your first container.

Learn how to deploy a container with LXD

The launching of a container with LXD is kind of easy. Just like Multipass, deploying a container with LXD is dealt with with a single command. For instance you wish to launch a container utilizing the Ubuntu 16.04 picture. To try this, you’d subject the command:

lxc launch ubuntu:16.04

The command will full and show the random title related to the brand new container (Determine A).

Determine A


Our new container has been launched.

To make sure your container is working, subject the command:

lxc record

If you wish to entry the shell of your new container (so you can begin growing with it), subject the command:

lxc exec CONTAINER_NAME /bin/bash

The place CONTAINER_NAME is the random title assigned to your container. 

You must now end up on the root immediate of your container (Determine B).

Determine B


We have gained entry to our newly deployed LXD container.

To cease and delete the container, subject the instructions:


The place CONTAINER_NAME is the random title assigned to your container. 

And that is all there’s to putting in LXD and deploying a container. In the event you’ve been searching for one more technique of growing container know-how, contemplate including LXD to your toolkit. 

Additionally see


Leave a Reply

Your email address will not be published. Required fields are marked *