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 abaixo. Na atual versão, a maior parte dos comandos requer Será necessário fornecer a senha, ou utilizar "sudo" antes.

sudo snap install lxd


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

sudo lxd init


Em geral pode-se aceitar as configurações padrão. Umas das opções possíveis fora do padrão é a possibilidade de disponibilizar os containers para outras máquinas através da rede local.


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:

sudo lxc launch ubuntu: nomedocontainer


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


        sudo lxc list


Para executar um comando dentro do container digite: 

sudo lxc exec nomedocontainer -- comando


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

sudo lxc exec nomedocontainer -- bash


Use exit para sair.


É possível parar, iniciar, e deletar containers usando lxc start, lxc stop e lxc delete


Para exibir as informações do container use sudo sudo lxc info nomedocontainer. Digite lxc help para mais opções de comandos.

 

Caso queira criar um container de outra distro, veja as disponíveis no servidor oficial de imagens (https://images.linuxcontainers.org) 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:

sudo lxc launch images:centos/7 nomedooutrocontainer


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. Afinal os containers que estiverem "rodando" voltarão a ser executados automaticamente ao se reiniciar o sistema. Já os containers que estiverem parados assim permacerão.



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




Voltar para o texto inicial: Máquinas Virtuais e Containers.