Vagrntで複数VMのネットワーク設定をしつつホストとの共有フォルダの設定方法

概要

  • ホストとvmでファイルを共有するために以下三つの手順を行なった
    • Vagrantfile の設定
    • vagrant-vbguest のインストール
    • CentOS7のカーネルアップデート

背景

前提

Vagrantfile の設定

  • 以下のような内容をVagrantfileに記述する
    • もし,新たにVMを作成する場合には任意のディレクトリを作成後,vagrant init コマンドでVagrantfileを先に作成する.
  • Vagrantfileと同じディレクトリにファイル共有フォルダ(ここではshare)を作成する
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vargrant.configure("2") do |config|
  config.vm.box = "bento/centos-7.8"
  # 以下の一行でホストとvmとの共有フォルダの設定
  config.vm.synced_folder "./share", "/home/vagrant/share"

  # これより以下はVMの例.具体的には2台のVMをIP指定をする設定.
  config.vm.define "任意の文字列" do |machine|
    # ホストオンリーアダプター
    machine.vm.network "private_network", ip: "任意のIPアドレス", auto_config:false
    # 内部ネットワーク
    machine.vm.network "private_network", ip: "任意のIPアドレス", virtualbox__intnet: "任意の内部ネットワーク名"
  end

  config.vm.define "任意の文字列" do |machine|
    # ホストオンリーアダプター
    machine.vm.network "private_network", ip: "任意のIPアドレス", auto_config:false
    # 内部ネットワーク
    machine.vm.network "private_network", ip: "任意のIPアドレス", virtualbox__intnet: "任意の内部ネットワーク名"
  end
end
  • 上記のように一行記載するだけ.vmの設定は以前のまとめより引用.
  • vagrant reload コマンドを実行しvmを再起動する.
    • もし,vmを生成していない場合には,vagrant upコマンドで作成して立ち上げる.

vagrant-vbguest のインストール

  • 以下のコマンドでvagrant-vbguestをインストールしてホストとVMのファイル共有に必要なGuestAdditonを入れる
vargrant plugin install vagrant-vbguest

CentOS7のカーネルアップデート

確認作業

  • vagrant reload コマンドを実行
  • 完了後,vagrant ssh vm名でログインし,フォルダが共有されていることを確認する.

参考先