Uma introdução detalhada aos contêineres LXD no Ubuntu

Os recipientes são úteis por vários motivos. Ele isola os aplicativos do resto do sistema. Eles são portáteis e fáceis de clonar e / ou transferir para outros sistemas operacionais. E no caso Sistema Linux , Funciona da mesma forma em qualquer distribuição, sem as modificações necessárias. Se você precisar mover um contêiner de RedHat para Ubuntu , Deve ser apenas um processo de cópia simples.

Estivador É uma solução popular projetada para caber em um único aplicativo: por exemplo, um servidor Banco de dados MySQL. Parece-se LXD De certa forma, ele é projetado para acomodar um sistema operacional inteiro. Isso o torna útil para alguns cenários. Por exemplo, você pode Crie um contêiner LXD e instale o servidor de banco de dados e o servidor http. Então você pode Crie um site WordPress interno. Agora você pode alternar da nuvem para a nuvem apenas movendo este contêiner LXD quando for necessário, quando você não estiver satisfeito com seu provedor anterior. Como é fácil clonar um contêiner, você pode até fazer o download Seu site Para vários provedores de serviços de nuvem para criar uma configuração redundante de alta disponibilidade.

LXD não funciona em máquinas virtuais como QEMU أو VirtualBox , O que significa que é muito rápido, o que fornece uma velocidade de execução quase local.

Instale e configure o LXD

Abra o Terminal e instale o LXD, bem como os utilitários ZFS, que o ajudarão a acelerar alguns processos e economizar espaço em disco ao trabalhar com contêineres.

sudo apt install zfsutils-linux lxd

Início da configuração do LXD.

sudo lxd init

Pressione ENTER para selecionar os valores padrão.

Para o tamanho em GB do novo dispositivo de anel (mínimo 1 GB) [padrão = 15 GB], você pode escolher outro valor, como "50 GB" se souber que criará muitos contêineres.

Encontre e execute uma imagem de distro LXD

Para listar todas as imagens do Ubuntu:

lista de imagens lxc ubuntu: arquitetura=amd64

Haverá muitos resultados. Você pode escolher omitir arco = amd64 Se você precisar de imagens para outras plataformas, como processadores ARM (os dispositivos Raspberry Pi usam essa arquitetura).

Na imagem anterior, os resultados eram limitados (com | cabeça) para facilitar a leitura. Impressão foi destacado Ubuntu 18.04 (84a71299044b) Se você fosse executar um contêiner com esta distribuição, o comando seria:

lxc iniciar ubuntu: 84a71299044b

No momento, isso retornará com o erro de permissão negada. Deve estar no grupo "lxd". Seu usuário já foi adicionado a este grupo, mas para ativá-lo, você deve fazer logout e login novamente. Se você quiser evitar isso, use este comando, substituindo “usuário” pelo seu nome de usuário:

exec su - usuário

Agora, os comandos lxc são executados sem sudo.

Executando contêineres LXD com distribuições não Ubuntu

Este comando mostrará as outras distribuições disponíveis:

Lista de imagens lxc: arch=amd64

Para iniciar uma imagem, em vez de uma impressão digital, você também pode usar um alias se encontrar um disponível na lista.

Imagens de inicialização do lxc: debian/9

Se você anexar uma string no final, poderá escolher um nome para o seu contêiner:

Imagens de inicialização do LXC: debian/9 site wordpress

Gerenciamento de contêineres LXD

Para listar todos os contêineres:

lista lxc

A coluna é “IPV4Especialmente importante se você tiver algum serviço em execução nessa situação. Por exemplo, se for um servidor http do apache Em execução em uma instância, a entrada de "10.234.232.246No navegador, ele exibirá o site hospedado no contêiner.

Para parar o contêiner:

lxc stop nome_do_container

Isso pode levar muito tempo (ou falhar) com distribuições não Ubuntu. É melhor você pegar um embrulho para o contêiner, e quando você entrar, entre desligamento do systemctl Para parar.

Se tudo mais falhar, você pode forçar uma parada com:

lxc stop nome_do_container --force

Para começar:

lxc iniciar nome_do_container

Para mover dentro do seu contêiner:

nome_do_container do shell lxc

Você pode instalar o software com “sudo apt installE faça tudo o mais que você faria em uma distribuição regular do Linux, por exemplo, configurar um servidor apache. Quando quiser sair da lixeira, basta digitar:

saída

Transferir arquivos de / para contêineres LXD

Para fazer upload de um arquivo para o seu contêiner:

lxc file push /caminho/para/arquivo/local nome_do_container/caminho/para/arquivo/enviado

Inclua o nome do arquivo a ser criado, não apenas o diretório onde deseja carregá-lo. Aqui está um exemplo:

lxc arquivo push lxd-apt-install.png accurate-colt/var/www/website/upload.png

Para fazer upload de um diretório em vez de um arquivo:

lxc file push /caminho/para/diretório/local nome_do_container/caminho/para/diretório/remoto --recursive --verbose

Exemplo:

lxc arquivo push /bin accurate-colt/tmp --recursive --verbose

Para baixar um diretório de seu contêiner para seu sistema operacional principal:

lxc file pull nome_do_container/caminho/para/diretório/remoto /caminho/para/diretório/local --recursive --verbose

Exemplo:

lxc arquivo pull accurate-colt/tmp /tmp --recursive --verbose

Conclusão

Isto cobre Uso primário para contêineres LXD. Existem recursos mais avançados, como instantâneos, back e restrições de recursos, como CPU وRAM , Contêineres de clonagem e assim por diante. Pode ser abordado em um programa educacional no futuro, se percebermos que nossos leitores estão interessados ​​no assunto.

Ir para o botão superior