Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
  • Labs icon Lab
  • A Cloud Guru
Google Cloud Platform icon
Labs

Syncing Files with Vagrant

When using Vagrant, being able to sync applications, infrastructure, and other important files between your workstation and the resulting environment is paramount. It ensures that any changes we make to our working environment will persist after a `vagrant destroy` — after all, the Vagrant environment is ephemeral. In this hands-on lab, we will specifically explore syncing our host and guest directories using the `rsync` implementation by updating our `Vagrantfile`.

Google Cloud Platform icon
Labs

Path Info

Level
Clock icon Beginner
Duration
Clock icon 15m
Published
Clock icon Oct 18, 2019

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    Update the Vagrantfile

    1. Use the config.vm.synced_folder option to set up file syncing based on the parameters from the instructions:

       Vagrant.configure("2") do |config|
         config.vm.box = "fgrehm/trusty64-lxc"
         config.vm.define "app" do |app|
           app.vm.provider :lxc do |lxc|
             lxc.container_name = 'app'
           end
         end
         config.vm.synced_folder "/home/cloud_user/wanderer/app", "/opt/wanderer", type: "rsync",
           id: "wanderer-app", rsync__auto: true
       end
      
    2. Save and exit.

  2. Challenge

    Test the Vagrant Environment and Check the Sync

    1. Deploy the Vagrant environment:

      vagrant up
      
    2. We can SSH into the guest container to see that the sync worked:

      vagrant ssh
      ls /opt/wanderer/
      exit
      
  3. Challenge

    Test the Auto-Syncing Process

    1. Since we are using rsync, auto-synced must be turned on:

      vagrant rsync-auto &
      
    2. Take note of the process ID output.

    3. Update the application; here changing Do This! to To-Do:

      vim app/views/index.ejs
      
          To-Do
      
    4. Save and exit; notice the output from Vagrant.

    5. Kill the auto-sync process:

      pkill PID_OUTPUT
      
    6. Stop the container:

      vagrant halt
      

The Cloud Content team comprises subject matter experts hyper focused on services offered by the leading cloud vendors (AWS, GCP, and Azure), as well as cloud-related technologies such as Linux and DevOps. The team is thrilled to share their knowledge to help you build modern tech solutions from the ground up, secure and optimize your environments, and so much more!

What's a lab?

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.

Start learning by doing today

View Plans