仮想マシンの簡単な構築や、どこでも同じ環境を再現できるように仮想マシンを管理するためのコマンドラインツール
簡単に仮想マシンを構築できる
さらに構成管理ツール(Chef, Ansible)を使って以下のメリットを受けられる
Vagrantfileに構成管理ツールを実行するように指定できるので、どこでも同じ仮想マシンを再現できる
仮想マシン起動時のテンプレートとなるイメージファイル(isoファイルとは異なる)
自前でBoxファイルを作ることもできる(packerなど)
仮想マシンの構成を記述するファイル
主に以下の項目を指定する
仮想化ソフト(仮想環境)のこと
デフォルトではVirtualBoxをサポートしている
プラグインをインストールすれば他の仮想環境(AWSとか)へも適応可能
ミドルウェアのインストールや設定を行うツール ここではシェルスクリプトや、構成管理ツール(Chef、Puppet、Ansibleなど)のことを指す Vagrantfile内で指定する
vagrant plugin installであとから機能を追加できる
https://app.vagrantup.com/boxes/searchでインストールするBoxを検索
検索したBoxを追加する
$ vagrant box add [name] [url or path]
例 (bento系はChef社が提供しているやつ 安心して使って!)
$ vagrant box add bento/ubuntu-18.04
$ vagrant box list
bento/centos-6.8 (virtualbox, 2.3.4)
bento/centos-7.3 (virtualbox, 201708.22.0)
bento/ubuntu-18.04 (virtualbox, 201808.24.0)
centos64 (virtualbox, 0)
centos70 (virtualbox, 0)
ubuntu16 (virtualbox, 0)
Boxを使ってVagrantfileを作成する
$ vagrant init [box名:なくてもいい]
カレントディレクトリにVagrantfileができる
$ tree
./
`--- Vagrantfile
例
$ vagrant init bento/ubuntu-18.04
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
あとで詳しく
Vagrantfileのあるディレクトリで、以下のコマンドを実行するとVagrantが起動する
Vagrant起動=VirtualBoxの仮想マシン起動
$ vagrant up
Vagrantの起動状態を以下のコマンドで確認できる
$ vagrant status
起動している場合
default running (virtualbox)
停止している場合
default poweroff (virtualbox)
sshログインできる
$ vagrant ssh
user:vagrant, pass:vagrant
user:root, pass:vagrant
haltで停止できる
$ vagrant halt
c:/Users/[ユーザー名]/.vagrant.d/boxes/
c:/Users/[ユーザー名]/VirtualBox VMs/
packerを使用する
packer hashicopeが提供しているツール
まだやりかたわかってない