Vagrantとは

特徴

Vagrant(ベイグラント)とは、Virtualboxなどの仮想化ソフトをCUIで操作するソフトのこと。

VirtualBoxだけでもGUIでLinux環境を構築はできるのだが、CUIで管理することによって以下のメリットがある。

  • コマンド1つで構築が可能
  • 構築を自動化できる
  • 設定情報の共有ができる

 

利用手順

インストール

ダウンロード

仮想マシンの構築設定はvagrantfileという設定ファイルにRuby言語で記入する。

vagrant upコマンド実行することにより、vagrantfileを読み込む仕様となっている。

 

Vagrantを実行するフォルダを作成し、そこに移動する

mkdir /user/vagrant

cd

 

 

 

Boxファイルを追加する

※BoxとはOSのイメージファイルのこと。仮想マシンのテンプレートとなるもの。

BOXは以下サイトなどから探すことが可能。

例文:

vagrant box add {BOXNAME} {URL}

 

vagrant box add CentOS7-test https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box

md Centos7-test

 

以下のURLからBOXをインストールする場合

https://app.vagrantup.com/centos/boxes/7

$ vagrant box add centos/7 
==> box: Loading metadata for box 'centos/7'
    box: URL: https://vagrantcloud.com/centos/7
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

 

インストールしたBoxの確認

vagrant box list

 

boxを追加すると以下のフォルダが作成される。

boxフォルダ配下にcentos等のboxイメージが格納される。

C:\Users\{UserName}\.vagrant.d
PS C:\Users\d-wat\.vagrant.d> ls

Directory: C:\Users\{UserName}\.vagrant.d
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2021/03/07 21:43 boxes
d---- 2021/03/07 21:43 data
d---- 2021/03/07 21:43 gems
d---- 2021/03/07 21:43 rgloader
d---- 2021/03/07 21:54 tmp
-a--- 2021/03/07 21:43 1675 insecure_private_key
-a--- 2021/03/07 21:43 3 setup_version

 

各仮想マシン用のフォルダを作成

管理しやすいように、仮想マシン別に ディレクトリを作成し、そこに設定ファイル(Vagrantfile)を作成する

$ cd ~/vagrant/
$ mkdir centos7
$ cd centos7/

仮想マシンの初期化

初期化処理でvagrantfileができる

vagrant box list

vagrant init Box名

vagrant init centos/7

※コマンドを実行したフォルダ内にVagrantfileファイル1つが作成される

※vagrant initだけだとVagrantfileファイルに「config.vm.box="centos/7"」ではなく「config.vm.box="base"」と記入されて作成される。

 

centos7をVirtualBox上で起動する

vagrant up

※VurtualBoxマネージャーでCentOS7が起動する

User:vagrant

Pass:vagrant

※rootにはsudoでスイッチ

 

ターミナルから直接sshログインする場合

vagrant ssh

 

CentOS7を停止する

vagrant halt

 

仮想マシン削除

vagrant destroy

※VurtualBoxマネージャーからCentOS7が消去される

※Vagrantfileは消去されない

 

 

Boxを確認する

vagrant box list

 

Boxを削除する

vagrant box remove BOX名

 

 

 

vagrantのバージョン確認

vagrant version

 

ATLASとは

 

Vagrantfile設定メモ

VirtualBoxの名前を指定

config.vm.provider "virtualbox" do |vb|
vb.name = "centos7"
end

 

vagrantコマンドのエラーメッセージ

The version of powershell currently installed on this host is less than
the required minimum version. Please upgrade the installed version of
powershell to the minimum required version and run the command again.

PowerShellのバージョンが古いということなので、バージョンアップが必要。

ComEmuのバグっぽい。標準のPowerShellターミナルを立ち上げて、コマンドを打てばエラーはでない。

 

【Windows10】PowerShellのバージョンアップ手順

関連記事

【備忘録】Vagrant を使用したCentOS7 環境 構築手順

記事タイトル検索