Configuração padrão dos containers a ser instanciado.

# lxc profile edit default

Criando um novo container e iniciando a imagem (quando é SO ele chama systemd init ou upstart). Se for uma aplicação especifica ele chamada diretamente a aplicação.

# lxc init ubuntu:16.04 remote                                  
# lxc start remote                                              

Acessar o console TTY do confinamento (PTS)

# lxc console remote                                            

Executando um processo dentro de um container, é interessante para realizar a troca da senha do root.

# lxc exec remote – bash                                        

Alterando a configuração do container criado

# lxc config edit remote                                        

Habilitando para o container iniciar no boot. (lembre-se da aplicação LXD no systemd ou init)

# lxc config get remote boot.autostart                  
< >                                                                     
# lxc config set remote boot.autostart true                                                                                   
# lxc config get remote boot.autostart                  
true                                                                    

Nivel de prioridade de cada container para iniciar.

$ lxc config set {vm-name} boot.autostart.priority integer              
$ lxc config set {vm-name} boot.autostart.delay integer         
You can the 10 seconds to wait after the container started before starting the next one using the following syntax:
$ lxc config set nginx-vm boot.autostart.delay 10                       

Finally, define the order to start the containers in by setting with highest value. Make sure db_vm container start first and next start nginx_vm
$ lxc config set db_vm boot.autostart.priority 100                      
$ lxc config set nginx_vm boot.autostart.priority 99                    

LXD ou LXC sem privilegios de root, pois os processo que executam no container esta nativo no host. E precisa mapear outros os UID ou GID para cada usuário ou grupo dentro do container. (O problema é utilizar FS compartilhado)

root@:~# cat /etc/subuid                                        
lxd:100000:65536                                                
root:100000:65536                                               
lxcint:427680:65536                                             
lxcnat:558752:65536                                             
lxcdmz:624288:65536                                             
lxd:900:20000                                                   
root:900:20000                                                  

root@:~# cat /etc/subgid                                        
lxd:100000:65536                                                
root:100000:65536                                               
lxcint:427680:65536                                             
lxcnat:558752:65536                                             
lxcdmz:624288:65536                                             
lxd:900:20000                                                   
root:900:20000                                                  

O container que se inicia com o usuário LXD remapeia os UID/GID root ou não root começando em 100.000 e podendo ter até 65536 identificadores.

Porem você pode liberar a utilização compartilhada por vai ser necessario remapear no proprio container.

lxd:900:20000                                                   
root:900:20000                                                  

É permitido utilizar os UID/GID de 900 até 20900 (USUÁRIO:UID/GID INICIAL:QUANTIDADE)

# lxc config edit remote                                                                

  raw.idmap: |-                                                                         
    uid 900-11000 900-11000                                                             
    gid 900-11000 900-11000                                                             

# echo -en "uid 900-10000 900-10000\ngid 900-10000 900-10000" | lxc config set remote raw.idmap -
  • Com este comando todos os UID/GID entre 900-10000 do HOST são mapeado dentro do container. Adicionar “disk” “path” para um container.
# lxc config device add remote proj disk source=/p path=/p 
# lxc config device add <container> <nome do disco> disk source=/path/host path=/path/dentro

NFS usa kernel (Opção NFS Ganesha)

  • Apenas para um usuário acima para um range. https://insights.ubuntu.com/2017/06/15/custom-user-mappings-in-lxd-containers/ https://tribaal.io/nicer-mounting-home-in-lxd.html https://www.cyberciti.biz/faq/how-to-auto-start-lxd-containers-at-boot-time-in-linux/

Desabilitando dmesg dentro do confinamento # echo 1 > /proc/sys/kernel/dmesg_restrict

Edite : /etc/sysctl.conf kernel.dmesg_restrict=1

Administrando Recursos https://stgraber.org/2016/03/26/lxd-2-0-resource-control-412/