Summarized from https://stgraber.org/2016/03/19/lxd-2-0-your-first-lxd-container-312/.
Interestingly, the LXD command line client is named.... lxc!
lxc image list ubuntu: # ubuntu: is officially supported image source
lxc image list images: # images: is an unsupported source
lxc image alias list images: # lists user-friendly names
lxc launch ubuntu:14.04 CONTAINERNAME # image and container names are optional
lxc launch ubuntu:14.04/armhf armcont # specific architecture
lxc launch images:alpine/3.3/amd64 # unsupported images: source
lxc init images:alpine/3.3/amd64 alpinecont
lxc delete alpinecont [--force] # --force if it is running
lxc start alpinecont
lxc stop alpinecont [--force] # --force if it doesn't want to stop
lxc restart alpinecont [--force]
lxc pause alpinecont # SIGSTOP to all container processes
lxc list
lxc list --columns "nsapt" # name, status, arch, PID of init, type
lxc list security.privileged=true # filter for properties
lxc info CONTAINERNAME # detailed info about one container
4 - IPv4 address
6 - IPv6 address
a - Architecture
c - Creation date
n - Name
p - PID of the container's init process
P - Profiles
s - State
S - Number of snapshots
t - Type (persistent or ephemeral)
there is an alias for lxc exec -- su --login called shell
lxc shell <container>ir is the same like
lxc exec -- su (root) --login