Linux Containers

Fonte: TecPorto
Saltar para a navegação Saltar para a pesquisa

Introdução

LXC ou Linux Containers é uma funcionalidade disponível em várias distribuições, e que pode ser adicionada manualmente a outras. É baseada em funcionalidades do kernel do Linux tais como CGROUPS e Namespaces, fornecendo ambientes isolados parecidos com chroot, mas mais avançados. É um meio termo entre uma máquina virtual e um chroot.

Instalação

Manjaro

Para instalar, basta executar os seguintes comandos:

 sudo pacman -S lxc
 sudo pacman -S lxd

A configuração default de containers em Manjaro precisa de uns ajustes adicionais. Primeiro é necessário activar o bit setuid nos comandos /usr/bin/newuidmap e /usr/bin/newgidmap:

 sudo chmod 4755 /usr/bin/new?idmap

Depois é necessário editar os ficheiros de configuração dos mapeamentos (e criá-los se não existirem) de modo a que as seguintes linhas existam neles (substituindo as existentes se forem mais restritivas:

/etc/subuid e /etc/subgid:

 root:1000000:1000000000
 lxd:1000000:1000000000

Alternativamente, em vez de se editar estes ficheiros, o mesmo pode ser conseguido usando o comando usermod com as opções --add-subuids e --add-subgids.


Ubuntu

Para instalar basta executar o seguinte comando:

 sudo apt install lxc lxd

Nota: A partir do Ubuntu 20.04 inclusive, ao tentar-se instalar o LXD via apt, o que vai acontecer é o apt instalar o snap (se já tiver sido removido) e instalar o lxd a partir do snap. Ew.

TODO

Manual

TODO


Aprovisionamento

Para iniciar, é preciso, primeiro, correr o comando lxd init, respondendo às perguntas apresentadas.

TODO


Criação de uma storage pool

Como directório

Para criar uma storage pool como directório, deverá usar-se o seguinte comando:

 lxc storage create <nome_da_pool> dir=<caminho>

Neste comando deverá substituir <nome_da_pool> e <caminho> pelo nome que pretende dar à pool e o caminho onde a pretende criar, respectivamente. Por exemplo:

 lxc storage create pool1 dir=/home/containers