Logo

dev-resources.site

for different kinds of informations.

Vagrant For Beginners: Creating Your First Virtual Environment.

Published at
9/15/2023
Categories
vagrant
devops
beginners
tutorial
Author
breakingpitt
Categories
4 categories in total
vagrant
open
devops
open
beginners
open
tutorial
open
Author
12 person written this
breakingpitt
open
Vagrant For Beginners: Creating Your First Virtual Environment.

In the previous article, we explored Vagrant a powerful virtualization tool designed for creating and configuring portable, reproducible development environments through declarative configuration. Vagrant proves indispensable for developers seeking to develop and test applications within isolated environments before deploying them to production.


Table of Contents

In this article, I'll take you through the essential steps to set up your very first Vagrant project. You'll learn how to create a dedicated project directory, initialize a Vagrantfile, setting the foundation for building and managing virtual machines with ease.

So, let's dive in and embark on your journey into the realm of Vagrant!

Initializing a Vagrant Project

Initializing a Vagrant project creates a Vagrantfile, which is a configuration file that tells Vagrant how to create and manage your virtual machine.

This ensures that everyone on your team has the same development environment, automates the creation and management of virtual machines, and makes it easy to share your development environment with others.

Additionally, you can use Vagrant to test your code in a controlled environment.

To initialise a Vagrant project open a Terminal application and create a new directory for your Vagrant project.

You can name it anything you like.

breakingpitt@converge~ mkdir ubuntu & cd ubuntu
Enter fullscreen mode Exit fullscreen mode

Once you have created the project's directory run the following command to initialise a new Vagrant project within the directory.

breakingpitt@converge~ vagrant init ubuntu/focal64
Enter fullscreen mode Exit fullscreen mode

This action will create a Vagrantfile in your project directory, which is used to define your virtual machine's configuration. This file is filled with a lot of comments with information regarding the configuration of the Vagrant environment.

If you want a easy to read Vagrantfile with the lines needed to create and execute your environment, just run the following command:

breakingpitt@converge~ vagrant init ubuntu/focal64 --minimal
Enter fullscreen mode Exit fullscreen mode

The Vagrantfile will have the following content and it will be easy to read and modify:

Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/focal64"
end
Enter fullscreen mode Exit fullscreen mode

Starting the virtual machine

Once you have initialised and configured your Vagrant project the vagrant up command creates and configures a virtual machine according to the instructions in your Vagrantfile.

breakingpitt@converge~ vagrant up
Enter fullscreen mode Exit fullscreen mode

This is the single most important command in Vagrant, since it is how any Vagrant machine is created.

Connecting to the virtual machine.

Once the virtual machine is up and running, you can use the vagrant ssh command connects you to a running a virtual machine via SSH.

This allows you to interact with the virtual machine operating system and execute commands just as you would on a physical machine.

breakingpitt@converge~ vagrant ssh
Enter fullscreen mode Exit fullscreen mode

You can now start working in the virtual machine. You can install software, run commands, and edit files.

Exiting the virtual machine.

When you've completed your work within the virtual machine, you can exit the SSH session using the following command:

breakingpitt@converge~ exit
Enter fullscreen mode Exit fullscreen mode

This will disconnect you from the the virtual machine and return you to your local terminal. Alternatively, you can exit the SSH session in these ways:

  • Press Ctrl+D.
  • Type logout and press Enter.
  • Type ~. and press Enter. The ~. character sequence is a special way to terminate an SSH session. It is called the "escape character".

Cleanup.

To halt or destroy the virtual machines when you've finished with the, utilize the following commands.

The vagrant halt command will stop the virtual machine, but it will not delete it:

breakingpitt@converge~ vagrant halt
Enter fullscreen mode Exit fullscreen mode

If you wish to keep the virtual machines files but no longer run it, you can suspend it with the vagrant suspend command:

breakingpitt@converge~ vagrant suspend
Enter fullscreen mode Exit fullscreen mode

Suspended virtual machines are saved in a paused state and can be resumed later using the vagrant resume command. Remember to stop and destroy your virtual machines when you're finished to free up computer resources and maintain a clean Vagrant directory.

The vagrant destroy command both stops and deletes the virtual machine:

breakingpitt@converge~ vagrant destroy
Enter fullscreen mode Exit fullscreen mode

If you want to delete the downloaded Vagrant box used the first time you ran vagrant up, the vagrant box remove command will delete the downloaded box:

breakingpitt@converge~ vagrant box remove ubuntu/focal64
Enter fullscreen mode Exit fullscreen mode

You should also delete any unused Vagrantfile to keep your Vagrant directory clean.

A few considerations when stopping and destroying virtual machines:

  • If you have any changes that you have not yet committed to your project's repository, you will lose those changes if you destroy the virtual machine.
  • If you are using a shared folder, unmount it before destroying the virtual machine.
  • If you are using a private network, delete the network before destroying the virtual machine.

Summary.

This getting started guide offers a foundational introduction to Vagrant. As you become more proficient with Vagrant, you can explore advanced configurations such as provisioning with tools like Ansible or Puppet, managing multiple the virtual machines in a single project, and using different base boxes to meet your development needs.

Vagrant's documentation is a valuable resource for diving deeper into its capabilities.

vagrant Article's
30 articles in total
Favicon
Comandos Básicos de Vagrant
Favicon
🔋⚡ Ensuring High Availability with Two-Server Setup Using Keepalived
Favicon
Using Vagrant to Provision a VM and Multiple VMs
Favicon
How to Create and Configure a Multi-VM Vagrant Setup for Web and Database Servers
Favicon
Error : Loading Vagrant Up
Favicon
[pt-BR] Como utilizei o Vagrant e o Virtual Box para desenvolvimento local
Favicon
Deploying a Spring Boot Banking Application with Docker
Favicon
Resizing the disk on a Vagrant virtual machine
Favicon
🚀 Creating a Kubernetes Cluster with Vagrant: A Step-by-Step Guide 🚀
Favicon
Setup a Docker Swarm cluster using Vagrant
Favicon
Solve "[email protected]: Permission denied (publickey)" error
Favicon
Vagrant ssh alternative
Favicon
Vagrant Setup for macOS with Apple Chips
Favicon
EXPLORING DOCKER CONTAINER USING VAGRANT
Favicon
Automate Your local VM workflow
Favicon
Day 3: Exploring Vagrant and Linux Server Setup
Favicon
Vagrant: A Comprehensive Guide to Managing Virtual Environments
Favicon
Vagrant and VMWare Fusion in Mac M1
Favicon
Windows GitHub Self Hosted Runner inside a Linux Container
Favicon
How to Enable a Virtual Machine on Your Windows Laptop With Vagrant and Git Bash
Favicon
Vagrant CLI Commands Cheat Sheet
Favicon
Install Virtual Machine With Vagrant & Remotely Access it
Favicon
Run Vagrant VMs in a M1/M2/M3 Apple Sillicon Chip
Favicon
Exploring Vagrant: Simplifying Development Environments
Favicon
Do M1 Mac Dream of x86 Linux?
Favicon
Vagrant - configurando VM's de forma performática
Favicon
Getting Started with Vagrant for Local Development Environments
Favicon
Vagrant For Beginners: Box Basics in Vagrant.
Favicon
Vagrant For Beginners: Creating Your First Virtual Environment.
Favicon
Getting started with Vagrant: a beginner's Guide

Featured ones: