目次
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
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のバージョンアップ手順