Skip to content

LXC Container - Requirements & Basics

Requirements

Install requirements for debian
apt-get install lxc libvirt0 libpam-cgfs bridge-utils uidmap

Basics

Start Container
lxc-start -n %NAME%
Stop Container
lxc-stop -n %NAME%
Attach Container (get access to cli inside container)
lxc-attach -n %NAME%
List info/state of containers
lxc-ls --fancy
Create container (template downloaded for unprivileged container)
lxc-create -n %NAME% -t download -- -r bookworm
Destroy (delete) container - container have to be stopped before
lxc-destroy -n %NAME%

Creating unprivileged containers

When creating unprivileged containers as root with shared UID and GID the files /etc/subuid and /etc/subgid need some entries. Check content of both files before appending stuff to it! Furthermore the default lcx configuration file /etc/lxc/default.conf has to be extened.

1
2
3
4
echo "root:100000:65536" >>/etc/subuid
echo "root:100000:65536" >>/etc/subgid
echo "lxc.idmap = u 0 100000 65536" >>/etc/lxc/default.conf
echo "lxc.idmap = g 0 100000 65536" >>/etc/lxc/default.conf

Autostart for containers

Add the following line to configuration file (/var/lib/lxc/%%NAME%%/config) of each container, which should be start automatically.

lxc.start.auto = 1

Basic default configuration

xc.net.0.type = veth
lxc.net.0.link = lxcbr0
lxc.net.0.flags = up
lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx

lxc.apparmor.profile = generated
lxc.apparmor.allow_nesting = 1

lxc.idmap = u 0 100000 65536
lxc.idmap = g 0 100000 65536