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.
112 lines
2.9 KiB
Markdown
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)
|