No próximo artigo, daremos uma olhada nos contêineres LXD. Um colega já falou sobre eles neste blog há algum tempo. No aquele artigo Eu já deixei claro que esses contêineres são úteis por diferentes razões. Eles isolam os aplicativos do resto do sistema, são portáteis, fáceis de clonar e / ou mover para outros sistemas operacionais. No caso do Gnu / Linux, eles funcionam da mesma maneira em qualquer distribuição, sem a necessidade de adaptações.
Estivador é uma solução popular projetada para conter um único aplicativo, como um servidor de banco de dados MySQL. LXD é semelhante em alguns aspectos, mas é projetado para conter um sistema operacional completo. LXD não vai virtualizar hardware como QEMU o VirtualBox. Isso significa que é muito rápido e oferece uma velocidade de execução quase nativa.
Como exemplo de uso, poderíamos criar um container LXD, instalar um servidor de banco de dados e um servidor http. Lá teremos a possibilidade de criar um site com WordPress e se necessário podemos mudar de nuvem para nuvem simplesmente movendo este container LXD quando necessário. Como um contêiner é fácil de clonar, seu site pode até mesmo ser carregado para vários provedores de nuvem para criar uma configuração redundante e altamente disponível.
Instale e configure o LXD
Para instalar o LXD basta abrir um terminal (Ctrl + Alt + T) e instalar. O que mais também podemos instalar os utilitários ZFS. Isso nos ajudará a acelerar algumas operações e economizar espaço em disco ao trabalhar com contêineres.
sudo apt install zfsutils-linux lxd
Pára iniciar configuração LXD, no mesmo terminal escrevemos:
sudo lxd init
Aqui podemos pressionar Intro para selecionar os valores padrão.
Encontre e inicie uma imagem de distribuição LXD
Pára veja uma lista de imagens do Ubuntu, no terminal escrevemos:
lxc image list ubuntu: arch=amd64|head
Pode omita arch = amd64 se você precisar de imagens para outras arquiteturas. Na imagem acima, os resultados foram limitados (com | cabeça) para facilitar a leitura.
Como você pode ver na imagem acima, a impressão digital do Ubuntu 18.04 (dcbc8e3e5c2e) Deixei realçado. Se você se interessar iniciar um contêiner com essa distribuição, você deve usar essa pegada. O comando a ser executado seria:
lxc launch ubuntu:dcbc8e3e5c2e
Gerenciar contêineres LXD
Pára liste todos os contêineres criados, você só precisa escrever:
lxc list
Coluna 'IPV4'é especialmente importante se você tiver quaisquer serviços em execução nessa instância. Por exemplo, se você estava executando um servidor Apache http, ao escrever o IP "10.191.112.88”O site hospedado no contêiner seria exibido no navegador.
Pára parar um contêiner, você só precisa escrever:
lxc stop nombre-contenedor
Isso pode ser demorado ou falhar com distribuições não Ubuntu. Se isso acontecer, você sempre pode usar desligamento do systemctl para pará-lo.
Se tudo mais falhar, você pode forçar parada com:
lxc stop nombre-contenedor --force
Pára comece com um contêiner você deve escrever:
lxc start nombre-contenedor
Se você quiser mover dentro do contêiner, corre:
lxc shell nombre-contenedor
Dentro do contêiner você pode instalar programas com 'sudo apt install'e fazer tudo o mais que você faria em uma distribuição Gnu / Linux normalPor exemplo, configurar um servidor Apache.
Quando quiser saia do contêiner, basta digitar:
exit
Transferir arquivos de / para contêineres LXD
Pára faça upload de um arquivo para o seu contêiner, use a seguinte sintaxe:
lxc file push /ruta/al/archivo/local/nombre-archivo nombre-contenedor/ruta/al/archivo/subido/nombre-archivo
Inclua o nome do arquivo que será criado, não apenas o diretório onde deseja deixá-lo.
Pára carregar um diretório em vez de um arquivo:
lxc file push /ruta/al/directorio nombre-contenedor/ruta/al/directorio/remoto --recursive --verbose
Pára baixe um diretório do contêiner para o seu sistema operacional diretor:
lxc file pull nombre-contenedor/ruta/al/directorio/remoto ruta/al/directorio --recursive --verbose
Isso cobre o uso básico de contêineres LXD. Existem recursos mais avançados, como instantâneos, limites de recursos como CPU e RAM, clone de contêineres, etc. Tudo isso e muito mais pode ser consultado no documentação oficial, No site do projeto ou em sua página GitHub.