Vagabundo

Tutorial do Vagrant

Tutorial do Vagrant
Vagrant é uma ferramenta para gerenciar máquinas virtuais usando uma interface de linha de comando simples. É suposto tornar todo o processo organizado e limpo sem ter a sua instalação principal poluída com uma tonelada de arquivos de configuração.O Vagrant usa o VirtualBox no backend onde as máquinas virtuais são executadas e se você abrir o VirtualBox depois de instalar algumas dessas Vagrant Boxes, verá que há novas VMs que não existiam antes. Vagrant box é apenas mais um termo para máquinas virtuais tratadas especificamente por este utilitário que estamos discutindo.

Porque se importar?

Hashicorp, a empresa por trás do Vagrant mantém um repositório de muitos Vagrant Boxes que são imagens de máquina virtual pré-configuradas das quais você pode gerar qualquer número de VMs localmente. Ele resolve dois problemas:

  1. Como todos começam com a mesma imagem, os desenvolvedores podem se livrar de Funciona na minha máquina desculpa, onde um determinado aplicativo funcionaria perfeitamente em uma máquina, mas não em outra. Todos desenvolvem em máquinas diferentes, mas funcionam exatamente na mesma configuração da máquina virtual.
  2. Você não precisa fazer instalações repetidas de máquinas virtuais se decidir se livrar das antigas. O Vagrant cuida de toda a instalação e configuração de sua VM. Tudo, desde a alocação de armazenamento e memória até a criação de usuários configurando permissões.

Em muitos aspectos, é semelhante às imagens do Docker e resolve problemas semelhantes, com a principal diferença de que usa VMs em vez de contêineres, tornando-o, decididamente, uma alternativa mais pesada e lenta. No entanto, as máquinas virtuais vêm com suas próprias vantagens, como melhor pilha de rede e mais flexibilidade em termos de escolha de sistema de arquivos, etc, permitindo que o Vagrant preencha um nicho particular das VMs portáteis.

Então vamos começar!

Pré-requisitos

O primeiro e mais importante requisito é a instalação do VirtualBox, após o qual você deve instalar o Vagrant. Se você já tem o VirtualBox instalado, basta obter o último. O processo de instalação pode ser muito diferente, dependendo de qual sistema operacional seu host está executando, portanto, recomendo que você consulte a documentação oficial para isso:

  1. Obtenha o VirtualBox aqui
  2. Obtenha o Vagrant aqui

Além disso, se você estiver usando o Windows, você precisará de um cliente SSH, você pode querer instalar o Git Bash, que funciona perfeitamente bem no Windows com as opções de instalação padrão.

1.  Vagrant Boxes

Vagrant Box é o termo para máquinas virtuais gerenciadas pelo Vagrant. Você pode obter caixas Vagrant que contêm apenas o sistema operacional como Ubuntu, CentOS, etc. Ou eles podem conter pilha LAMP pré-configurada, pilha MEAN ou outra instalação de software que pode tornar seu processo de desenvolvimento e teste mais fácil.

Por exemplo, se você está escrevendo um tema WordPress, você pode obter uma caixa do Vagrant com o núcleo do WordPress já em execução. Você pode compartilhar a pasta do seu projeto onde você tem o conteúdo do seu tema com esta VM. Verifique se o novo tema está funcionando conforme o esperado. Assim que terminar com o tema, apenas destrua a caixa, deixando apenas os arquivos do projeto que agora você sabe que funcionariam bem no mundo real.

Você pode explorar essas caixas aqui. Vamos começar com um Ubuntu 16 simples.04 caixa LTS. Você pode vê-lo listado como ubuntu / xenial64, se você visitar o link acima.

Abra seu terminal e crie uma pasta para seus experimentos Vagrant.

$ mkdir vagrant_box
$ cd vagrant_box

Nesta pasta, podemos inicializar nosso ambiente Vagrant executando:

$ vagrant init

Isso coloca um Vagrantfile dentro da pasta que é essencialmente um script Ruby que descreve a configuração do seu Vagrant Box. Você não precisa saber Ruby para usar este arquivo, a sintaxe é bem simples. Cobriremos o essencial à medida que avançamos.

Agora você pode executar o comando vagrant up e como você o está executando pela primeira vez, ele terá que baixar a imagem da máquina virtual do aplicativo.vagabundo.com. Pode demorar um pouco, dependendo da sua conexão com a Internet, mas uma vez que é baixado, subsequente vagabundo comandos para semelhantes vagrant init ubuntu / xenial64 não vai demorar muito porque a imagem agora está salva localmente no seu computador. Certifique-se de estar no mesmo diretório (vagrant_box) onde o Vagrantfile foi colocado anteriormente.

$ vagrant up

Depois que isso terminar, você pode ssh na caixa como o usuário vagrant com privilégios de root. Basta executar o seguinte:

$ vagrant ssh

Parabéns! Você acabou de entrar na sua primeira Vagrant Box. Agora que começamos, vamos aprender alguns comandos básicos do vagrant antes de nos aprofundarmos no Vagrantfile. Basta digitar exit e clicar para sair do terminal da VM. A caixa vagrant ainda estará rodando em segundo plano.

Comando comum do Vagrant

Se você deseja interromper a execução da caixa, execute o comando:

$ vagrant halt

Para reiniciar você pode usar o vagrant up

Se quiser, você também pode usar

$ vagrant suspend
currículo de $ vagrant

Isso irá suspender a VM e trazê-la de volta com segurança. Se você fizer alterações no Vagrantfile e quiser que as alterações apareçam, use o comando:

$ vagrant reload

Lembre-se de executar todos os comandos do mesmo diretório onde seu Vagrantfile está localizado. Você pode criar mais caixas vagrant se criar novos diretórios em outro lugar e executar vagrant init  neles. Você irá gerenciá-los em suas respectivas pastas. Eles podem ser baseados no mesmo ubuntu / xenial imagem que obtivemos antes, ou você pode trazer mais imagens.

Para listar todas as caixas vagrant e seus status (em execução ou interrompido), use o comando:

$ vagrant global-status

Para remover um vagrant box e todo o seu conteúdo privado, do diretório do box (onde seu respectivo Vagrantfile está localizado) execute:

$ vagrant destroy

A imagem base que você baixou anteriormente ainda existirá se você deseja criar novas caixas mais tarde. Se você deseja ver todas as imagens salvas localmente, execute:

$ vagrant box list

Para excluir a própria imagem da caixa, execute:

$ vagrant box remove

Depois disso, você terá que baixar a caixa novamente, caso haja necessidade.

Inspecionando o Vagrantfile

À primeira vista, pode parecer que há muitas opções dentro de um Vagrantfile. Embora isso possa muito bem ser verdade, é interessante notar o quanto você pode realizar com apenas alguns ajustes.

1.   A pasta compartilhada

A maioria das caixas vagrant vem com pastas compartilhadas pré-configuradas. Por exemplo, se você inspecionar o Vagrantfile que criamos na primeira vez que executamos vagrant init você notará a entrada, que é uma linha comentada,

# config.vm.synced_folder "… / data", "/ vagrant”

A pasta sincronizada pode ser acessada tanto pelo vagrant box quanto pela máquina host. O primeiro argumento depois config.vm.synced_folder indica o caminho para a pasta no host e o segundo argumento indica o caminho onde essa pasta será montada na caixa do vagrant convidado. Por padrão, a pasta onde você criou o Vagrantfile também é compartilhada com a caixa do vagrant.

Vamos verificar isso, entrando em nossa caixa vagrant.

$ vagrant ssh

Aqui, liste os sistemas de arquivos.

$ df -h

Você pode ver que há um grande sistema de arquivos vagabundo montado em /vagabundo caminho. A razão de ser tão grande é porque a pasta Vagrantfile na minha máquina host está em uma partição de 632 GB e a pasta ali também pode crescer até esse tamanho. Uma vez que é a mesma pasta que está sendo compartilhada com a caixa, oferece uma quantidade insana de armazenamento.

Você pode inspecionar o conteúdo de /vagabundo e eles são os mesmos que você vê em seu host, ou seja, um Vagrantfile e outro arquivo de log.

Você pode adicionar mais pastas compartilhadas onde o comentário explicando a sintaxe da pasta compartilhada aparece.

Igual a,

Neste caso, uma pasta chamada Pasta compartilhada está sendo adicionado, que é um diretório acima, portanto, o ponto duplo antes dele. Esta pasta está montada em / var / www / html  dentro da caixa. É aqui que a maioria dos servidores da web, como apache e nginx, procuram o conteúdo da web que desejam servir.

Você pode simplesmente ter seus arquivos de projeto, seu html, css e js em Pasta compartilhada onde você trabalha nele em sua máquina host usando editores de texto gráficos como Atom e VSCode . A caixa vagrant atuará como o servidor de nível de produção que servirá esses arquivos.

Agora a questão é: como vemos esses arquivos html sendo servidos como uma página da web. Qual nome de host inserir no navegador?

2.   Networking

Por padrão, o vagrant fornece algumas configurações úteis. A solicitação enviada por seu navegador para localhost na porta 8080 é encaminhada para a porta 80 em sua caixa vagrant. Portanto, se você tiver um servidor da web em execução no seu vagrant box que escuta na porta 80 (porta http padrão), você pode ver essa página da web visitando http: // localhost: 8080

Por outro lado, você pode querer evitar todo o encaminhamento de porta localhost; nesse caso, você pode abrir o Vagrantfile e descomentar a seguinte linha:

config.vm.rede "private_network", ip: "192.168.33.10 "

Salve as mudanças que você fez e execute vagrant recarregar para reiniciar a caixa com a nova configuração. Agora ele tem um endereço IP privado dedicado 192.168.33.10 que apenas o seu host pode acessar. Agora você pode abrir o navegador e digitar http: // 192.168.33.10 e você pode ver as páginas da web sendo servidas na porta 80 padrão de http.

Conclusão

Como você pode ver, o Vagrant pode ajudá-lo a executar seus aplicativos localmente, já que seriam executados na produção, ao mesmo tempo em que você pode trabalhar com eles usando IDEs e editores de texto que você não teria em um servidor típico. O uso de pastas compartilhadas e rede privada aumenta muito essa capacidade do Vagrant.

Informe-nos se tiver mais perguntas sobre este tutorial ou se houver qualquer outro tópico que queira que abordemos.

Como alterar as configurações do mouse e touchpad usando Xinput no Linux
A maioria das distribuições Linux vem com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar event...
Remapeie os botões do mouse de maneira diferente para software diferente com o controle de botão do mouse X
Talvez você precise de uma ferramenta que possa fazer o controle do seu mouse mudar com cada aplicativo que você usa. Se for esse o caso, você pode ex...
Análise do mouse sem fio Microsoft Sculpt Touch
Recentemente li sobre o Microsoft Sculpt Touch mouse sem fio e decidi comprá-lo. Depois de usá-lo por um tempo, decidi compartilhar minha experiência ...