You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
homepage/content/post/lxd-getting-started.md

112 lines
2.9 KiB
Markdown

---
date: 2015-07-07T13:00:00+01:00
description: This is what i do to install and configure lxd
title: LXD getting started
author: jochum
tags:
- HOWTO
- Ubuntu
- BTRFS
- LXC
- LXD
---
This is what i do to install and configure lxd.<!--more-->
#### Install and configure it on the container host
Install **lxd**:
sudo apt-add-repository -y ppa:ubuntu-lxc/stable
sudo apt-get update
sudo apt-get install lxd lxd-client
Give root one subuid and subgid:
sudo usermod --add-subuids 100000-165536 root
sudo usermod --add-subgids 100000-165536 root
OR give root 99 subuid's/subgid's:
for i in {1..99}; do sudo usermod --add-subuids ${i}00000-${i}65536 root; sudo usermod --add-subgids ${i}00000-${i}65536 root; done # This takes a while
Restart **lxd**:
sudo service lxd restart
Set the remote authentication password:
lxc config set core.trust_password <your-password-here>
Change the default profile network interface:
lxc profile edit default # Change lxcbr0 to your value.
Create an image:
lxd-images import lxc ubuntu trusty amd64 --alias trusty64 --alias ubuntu/trusty --alias ubuntu/trusty/amd64
Create the container "trusty64" from the image "ubuntu/trusty/amd64" you just made:
lxc launch ubuntu/trusty/amd64 trusty64
Show the log if the above failed:
lxc info trusty64 --show-log
Attach a shell on it:
lxc exec trusty64 /bin/bash
Delete the container you made:
lxc delete trusty64
#### On your own box/client
Install lxd-client
sudo apt-add-repository -y ppa:ubuntu-lxc/stable
sudo apt-get update
sudo apt-get install lxd-client
Add a remote for the server you just configured:
lxc remote add <your-server-here> https://<your-server-fqdn-here>:8443 --accept-certificate # enter the password you've set above here.
See if the remote works:
lxc list <your-server-here>:
#### Create a image from a container (publish it)
You need to delete the image first if you already have one with one of that aliases:
lxc delete <server>:ubuntu/trusty/amd64
Now publish your container (make it available as image):
lxc publish <server>:<container> <server>: --alias ubuntu/trusty --alias ubuntu/trusty/amd64
Delete the image container if needed:
lxc delete <server>:trusty64
Launch a new container from the image you created:
lxc launch <server>:ubuntu/trusty <server>:<your-new-container-name>
You can also do:
lxc init <server>:ubuntu/trusty <server>:<your-new-container-name>
lxc start <server>:<your-new-container-name>
Start a shell in the new container:
lxc exec srv01:<new-container-name> /bin/bash
Usefull Links:
- [LXD README.md](https://github.com/lxc/lxd#machine-setup)
- [LXD CMD specs](https://github.com/lxc/lxd/blob/master/specs/command-line-user-experience.md)
- [LXD config specs (all configuration variables)](https://github.com/lxc/lxd/blob/master/specs/configuration.md)