Microtutorial de Containers LXC/LXD

Para começar será necessário uma máquina (real ou virtual) com Linux. De preferência em modo desktop, assim você poderá usar o navegador da própria máquina para acessar um servidor, ou serviços, web rodando no container, sem ter que configurar uma bridge ou redirecionar portas. A maior parte das distribuições já possui os containers LXC instalados, mas se não for seu caso, instale o pacote snap. Opa! Snap é um tipo de container para distribuição de aplicações! Utilize o comando:

snap install lxd


Você até pode pular essa parte, mas para realizar a configuração inicial dos containers digite:

sudo lxd init


Aceite as configurações padrão. O LXD é a API desenvolvida pela Ubuntu para interagir com os containers LXC e é utilizada em todas as distribuições.

 

Para criar um primeiro container digite o comando abaixo. Esse primeiro container poderá demorar um pouco, pois será necessário baixar a imagem primeiro para poder criá-lo:

lxc launch ubuntu: nomedocontainer


Para visualizar o(s) container(s) criado(s), o status e o endereço IP:


    lxc list


Para executar um comando dentro do container digite: 

lxc exec nomedocontainer -- comando


Você verá a saída no próprio terminal. Para acessar o terminal (bash) do container digite:

lxc exec nomedocontainer -- bash


Use exit para sair.

 

É possível parar, iniciar, e deletar containers usando lxc start, lxc stop e lxc delete. Digite lxc help para mais opções.

 

Caso queira criar um container de outra distro, veja as disponíveis no servidor oficial de imagens com o comando abaixo. É possível usar imagens personalizadas de outros servidores também:

lxc image list images:


Se quiser acrescente um filtro, por exemplo: lxc image list images: | grep centos

 

Para criar um container a partir de uma dessas imagens digite, por exemplo:

lxc launch images:centos/7 nomedocontainer

 

Apenas o comando lxc image list lista as imagens locais. Também é possível gerenciá-las. Os containers criados a partir das imagens locais são disparados quase que instantaneamente, então pode-se deletar os containers criados sem nenhum problema se quiser. Ou pará-los, o que é sempre uma boa ideia se não estiverem em uso...



Agora que você já sabe os primeiros passos, aproveite os seguintes links (todos em inglês):