Criando uma box CentOS customizada para Vagrant
Nesse texto vou mostrar passo a passo como criar uma box customizada para Vagrant utilizando VirtualBox. No exemplo eu utilizo o CentOS mas os passos podem ser reproduzidos em qualquer distribuição Linux.
Começamos criando uma nova VM no VirtualBox com as configurações abaixo:
- Nome: vagrant-centos7
- Tipo: Linux
- Versão: Red Hat (64 bit)
- Memória: 1024 MB
- Disco: VDI (VirtualBox Disk Image) dinamicamente alocado com 10 GB
- Placa de Rede: NAT
- Desabilitar Áudio e USB
- Adicionar a imagem ISO de instalação
Eu optei por fazer a instalação mínima do CentOS com os detalhes abaixo:
- Software Selection: Minimal Install
- Hostname: vagrat-centos7
- Network: DHCP ativado
- Root password: vagrant
Após a instalação e reboot, logar com usuário root. Eu gosto de nesse momento fazer upgrade de todos os pacotes instalados e rebootar novamente:
1 2 | |
Na sequência instalar os pacotes abaixo:
1 | |
Através da interface do VirtualBox apresente o CD de Guest Additions:

Faça a instalação do Guest Additions com os passos abaixo. Para outras versões de Linux os passos podem ser ligeiramente diferentes, confira os detalhes na documentação do VirtualBox.
1 2 3 4 5 6 | |
Após o reboot criar e configurar o usuário vagrant:
1 2 3 4 5 6 7 8 9 | |
Remover necessidade de TTY para execução do sudo:
1 | |
Desabilitar a opção UseDNS no servidor SSH:
1 | |
A partir desse ponto essa VM já tem tudo que precisa para ser um box do Vagrant. Qualquer customização que você precise fazer para essa VM pode ser feita agora. Como exemplo eu vou ativar os repositórios EPEL e fazer instalação do agente Puppet. Os links usados abaixo são para as versões mais atuais no momento em que escrevo esse texto.
1 2 3 | |
Finalizadas as customizações, basta limpar os dados do yum, o histórico de comandos e desligar o servidor:
1 2 | |
Tenha certeza que não temos nenhuma imagem ISO apresentada para a VM antes de prosseguir. No console do host VirtualBox vamos empacotar a nova VM:
1 | |
O argumento --base recebe o nome da VM no VirtualBox e --output o nome do arquivo a ser gerado. Esse arquivo é a box propriamente dita, pronta para ser usada. Vamos validar adicionando essa nova box no Vagrant e iniciando um novo server com ela:
1 2 3 | |
Se tudo correu bem até aqui, você já tem uma nova VM provisionada pelo Vagrant conforme você instalou e customizou.
Comentários