A seguinte resposta repete grande parte da informação nos links abaixo
LXC
Os contêineres são uma tecnologia leve de virtualização. Eles são mais parecidos com um chroot aprimorado do que com a virtualização completa, como o Qemu ou o VMware, porque não emulam hardware e porque os contêineres compartilham o mesmo sistema operacional que o host. Portanto, os contêineres são melhores em comparação com as zonas Solaris ou as cadeias BSD. O Linux-vserver e o OpenVZ são duas implementações pré-existentes e desenvolvidas de forma independente da funcionalidade semelhante a containers para o Linux. Na verdade, os contêineres surgiram como resultado do trabalho para o upstream da funcionalidade vserver e OpenVZ. Algumas funcionalidades vserver e OpenVZ ainda estão faltando nos contêineres, no entanto os contêineres podem inicializar muitas distribuições Linux e têm a vantagem de poderem ser usados com um kernel upstream não modificado.
Tornando o LXC mais fácil
Um dos principais focos do 12.04 LTS era tornar o LXC inoperante e fácil de usar. Para isso, trabalhamos em algumas frentes diferentes, corrigindo bugs conhecidos e melhorando a configuração padrão do LXC.
Criando um contêiner básico e iniciando-o no Ubuntu 12.04 LTS agora está em:
sudo apt-get install lxc
sudo lxc-create -t ubuntu -n my-container
sudo lxc-start -n my-container
Isto irá usar como padrão a mesma versão e arquitetura da sua máquina, obviamente, opções adicionais estão disponíveis (–help irá listá-las). Login / Senha são ubuntu / ubuntu.
Outra coisa em que trabalhamos para tornar o LXC mais fácil de trabalhar é reduzir o número de hacks necessários para transformar um sistema normal em um container para baixo de zero.
A partir de 12.04, não fazemos nenhuma modificação em um sistema padrão do Ubuntu para colocá-lo em execução em um contêiner.
Agora é possível até mesmo pegar um
O modelo ubuntu-cloud também permite que você obtenha uma de nossas imagens em nuvem / EC2 e faça com que ela seja iniciada como um contêiner em vez de uma instância de nuvem:
sudo apt-get install lxc cloud-utils
sudo lxc-create -t ubuntu-cloud -n my-cloud-container
sudo lxc-start -n my-cloud-container
E, finalmente, se você quiser testar as novas coisas legais, você também pode usar [juju][3]
com LXC
[ -f ~/.ssh/id_rsa.pub ] && ssh-keygen -t rsa
sudo apt-get install juju apt-cacher-ng zookeeper lxc libvirt-bin --no-install-recommends
sudo adduser $USER libvirtd
juju bootstrap
sed -i "s/ec2/local/" ~/.juju/environments.yaml
echo " data-dir: /tmp/juju" >> ~/ .juju/environments.yaml
juju bootstrap
juju deploy mysql
juju deploy wordpress
juju add-relation wordpress mysql
juju expose wordpress
# To tail the logs
juju debug-log
# To get the IPs and status
juju status
Tornando o LXC mais seguro
Outro foco principal do LXC no Ubuntu 12.04 foi torná-lo seguro. John Johansen fez um trabalho incrível de estender o apparmor para nos permitir implementar perfis apparmor por contêiner e impedir que os comportamentos perigosos mais conhecidos aconteçam em um contêiner.
OBSERVAÇÃO: Até que tenhamos namespaces de usuário implementados no kernel e usados pelo LXC, NÃO iremos dizer que o LXC é seguro para root, entretanto o perfil apparmor padrão enviado no Ubuntu 12.04 LTS está bloqueando qualquer ação de braço que estamos cientes .
Isso significa principalmente que o acesso de gravação a / proc e / sys é altamente restrito, a montagem de sistemas de arquivos também é restrita, permitindo apenas que sistemas de arquivos conhecidos como seguros sejam montados por padrão. Os recursos também são restritos no perfil LXC padrão para impedir que um contêiner carregue módulos do kernel ou controle o apparmor.
Mais detalhes sobre isso estão disponíveis aqui:
link