インストール - Vagrant

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動

概要

Vagrantfileとは、仮想マシンの構築設定などを記述するためのファイルである。
例えば、"仮想マシンはCeontOS 7をインストールする"、"IPアドレスを192.168.10.10にする"等である。

Vagrantfileは、以下のような特徴がある。

  • 仮想マシンの基本設定を記述できる。
  • ファイルなので共有が簡単。
  • 環境構築手順ファイルを呼び出せる。
  • Ruby言語で記述する。


Vagrantのコマンドを実行する時、自動的にVagrantfileが読み込まれて、記述内容にしたがって仮想マシンが構築される仕組みである。
Vagrantfileは一般的なファイルなので、多くのユーザに共有することもできる。
また、仮想マシンの構築後に必要なパッケージをインストールする場合、別ファイルに詳細な手順を記述して、Vagrantfileから呼び出すこともできる。


依存関係のライブラリのインストール

Vagrantの依存関係のライブラリをインストールするため、以下のライブラリをインストールする。
以下のライブラリが無い場合、vagrant box addコマンドが失敗する可能性がある。

sudo zypper install bsdtar



Vagantのインストール

バイナリファイルからインストール

  1. まず、Vagrantの公式Webサイトにアクセスして、各プラットフォーム向けのVagrantをダウンロードする。

  2. Vagrantを以下の手順に従ってインストールする。
    • RPMを使用する場合
      ダウンロードしたRPMファイルに対して、以下のコマンドを実行する。
      sudo rpm -Uvh vagrant-<バージョン>.x86_64.rpm

    • AppImageを使用する場合
      ダウンロードしたファイルを解凍する。
      unzip vagrant_<バージョン>_linux_amd64.zip

      解凍したAppImageファイルのフルパスを、.profileファイル等に環境変数PATHを記述する。
      vi ~/.profile

      ~/.profileファイル
      export PATH="<VagrantのAppImageファイルのパス>:$PATH"

    • Windows
      ダウンロードしたVagrantのインストーラを起動して、手順にしたがってインストールする。

  3. PCを再起動する。


ソースコードからインストール

ソースコードからVagrantをインストールする場合、公式インストーラが使用できない場合にのみ推奨する。

ソースコードからVagrantをインストールするための前提条件と3つのステップについて以下に示す。

  1. Rubyをインストールする。
  2. Vagrantをクローンする。
  3. ローカルで設定する。


まず、Rubyをインストールする。
Vagrantをビルドするには、特定のバージョンのRubyをインストールする必要がある。
必要なRubyのバージョンは、VagrantのGithubにあるvagrant.gemspecに記載されている。

また、Vagrantをソースコードからインストールする場合は、プラグインの互換性にも注意する必要がある。
Vagrantのプラグインは現在の環境に基づいて設定されるため、ソースコードからVagrantでインストールしたプラグインは、パッケージベースのVagrantインストールでは動作しないことに注意する。

sudo zypper install make gcc ruby rubygem-bundler nodejs libopenssl-devel sqlite3-devel


次に、Vagrantのソースコードをクローンする。

git clone https://github.com/hashicorp/vagrant.git


次に、クローンしたVagrantパスを~/.profileファイル等に環境変数PATHを設定する。

vi ~/.profile


 # ~/.profileファイル
 
 export PATH="<Vagrantのパス>:$PATH"


必要なライブラリおよびプラグインをインストールする。

cd <Vagrantのパス>
bundle install


bundleコマンドを実行して、Vagrantを起動する。

bundle exec vagrant



Vagrant VMwareのインストール

Vagrant VMware WorkstationまたはVagrant VMware Fusionプラグインからアップグレードする場合、Vagrantで管理している全てのVMware上の仮想マシンを停止または破棄する。
その後、以下の手順に従う。

Vagrant VMwareプロバイダのインストールには2つのステップが必要である。

まず、Vagrant VMwareユーティリティをインストールする。
これは、Vagrant VMwareユーティリティの公式Webサイトから、RPMファイルをダウンロードしてインストールする。

sudo zypper install ./vagrant-vmware-utility-<バージョン>.x86_64.rpm


次に、Vagrant VMwareプロバイダプラグインを標準のプラグインインストール手順でインストールする。

vagrant plugin install vagrant-vmware-desktop


プラグインのインストールについて詳細を知りたい場合は、Vagrantプラグインの公式Webドキュメントを参照すること。

Vagrant VMware Desktopプラグインをアップデートする場合は、Vagrantから直接アップデートすることができる。

vagrant plugin update vagrant-vmware-desktop



Vagrantの使用方法

Vagrantfileを作成

ターミナルを起動して、以下のコマンドを実行する。

vagrant init


Vagrantfileの設定

Vagrantfileをテキストエディタで開く。

以下に、Vagrantfileの設定例を示す。
以下の例では、CeontOS 7をインストールしているので、config.vm.box = "centos/7"と記述している。

VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "centos/7"
  config.vm.network :private_network, ip: "192.168.33.10"
  config.vm.provider "virtualbox" do |vb|
    vb.name = "training"
    vb.gui = false
    vb.memory = "2048"
  end
  config.ssh.private_key_path = "<SSHの暗号鍵ファイルのフルパス>"
  config.ssh.insert_key = false
  if Object.const_defined? 'VagrantVbguest'
    config.vbguest.auto_update = false
    config.vbguest.no_remote = true
  end
end


仮想マシンの作成

boxファイルから仮想マシンを作成する場合、以下のコマンドを実行する。
box名は、Vagrantfileファイルに記述したconfig.vm.box = <box名>のbox名を入力する。

vagrant box add <box名> <boxファイルのパス>


仮想マシンの起動

上記の手順により、Vagrantを起動する準備が整う。
ターミナルから以下のコマンドを実行して、仮想マシンを作成する。

vagrant up


vagrant upは、Vagrantfileの内容にしたがって仮想マシンを構築して起動する。
この時、バックグラウンドではVirturalBoxが起動して、仮想マシンの作成が開始する。

vagrant upは、実行するタイミングにより動作が変化するので注意すること。
初回は、仮想マシンの構築と起動を行うが、2回目以降は仮想マシンの起動のみとなる。
ただし、2回目以降もVagrantfileが読み込まれていることは覚えておくこと。

  • 仮想マシンを構築して起動(初回のみ)
  • 仮想マシンを起動(2回目以降)


仮想マシンにログイン

仮想マシンの起動後、以下のコマンドを実行して、仮想マシンにログインする。

vagrant ssh


これにより、仮想マシンにおいて、vagrantユーザでログインできる。
また、vagrantユーザは標準で作成される。

仮想マシンからログアウト

仮想マシンからログアウトする場合は、[Ctrl] + [d]キーを同時押下、または、以下のコマンドを実行する。

exit


仮想マシンの停止

仮想マシンを停止する場合は、以下のコマンドを実行する。

vagrant halt


仮想マシンの削除

仮想マシンを削除する場合は、以下のコマンドを実行する。

vagrant box remove -f  <box名>
または
vagrant destroy
または
vagrant destroy <box名>


vagrant destroyコマンドを実行しても、.vagrantディレクトリやVagrantfileファイルは残る。
この設定ファイルには、以前、vagrant box addしたbox情報が記述されている。

vagrant destroyコマンドは、仮想マシンを削除する以外にも、仮想マシンを再作成する場合にも使用する。


box名の変更

boxの実体ファイルをリネームするだけでbox名を変更することができる。
boxの実体ファイルは、$HOME/.vagrant.d/boxesに存在する。

mv ~/.vagrant.d/boxes/<boxのファイル名> ~/.vagrant.d/boxes/<boxの新しいファイル名>


次に、vagrant initコマンドを実行して、新しいbox名を指定する。

vagrant init <boxの新しいファイル名>