目標
Vagrantを利用して、VirtualBox仮想マシンをWindows上に構築する。
Vagrantとは
仮想マシンの作成やセットアップ、管理、共有を簡単にするための便利な機能を提供するオープンソースのツールです(例えば、vagrant up
というコマンドを実行するだけで、仮想マシンの構築及び各種設定作業を自動で実行することが可能になります。)。
Vagrantを使用することで、同一の仮想環境をいつでも簡単に再構築することが可能です。
VagrantではVagrantfileという環境構築用の設定ファイルを作成し、仮想マシン起動時に特定コマンドやスクリプトを自動実行することが可能です。この機能は「プロビジョニング機能」と呼ばれています。
Vagrant自体は仮想化ソフトウェアではないため、他の仮想化ソフトウェアと組み合わせて使用する必要があります。
※徹底攻略 LPIC Level3 304 教科書+問題集より一部編集して抜粋
前提
Vagrant及びVirtualBoxがインストール済みであること(※1)(※2)
※1 インストールは以下のサイトから実施可能です(Windows64ビット用です)。
Vagrant
https://www.vagrantup.com/downloads.html
VirtualBox
https://www.virtualbox.org/wiki/Downloads
※2 Vagrantのインストール確認はcmdからvagrant -v
で確認可能です。
C:\Users\ryosu>vagrant -v
Vagrant 2.2.14
利用環境
OS: Windows10(64ビット)
作業の流れ
項番 | タイトル |
---|---|
1 | Vagrantfileの作成 |
2 | Vagrantfileの編集 |
3 | 仮想マシンの作成 |
手順
1.Vagrantfileの作成
コマンドプロンプトからの作業となります。
①Vagrant専用フォルダ(作業フォルダ)の作成
mkdir c:\Vagranttest
cd c:\Vagranttest
②Boxの検索
Box(Vagrantで使用する仮想マシンイメージファイル)をDiscover Vagrant Boxesから検索します。
CentOS7のBoxを一覧からクリックすると詳細ページに遷移するので、そこから更にNew
というタブをクリックします。
するとそのBoxを利用したVagrantfileの記述例、及び仮想マシン作成コマンドが確認可能です。
③Vgrantfileの作成
手順②で確認したvagrant init
コマンドを利用してVagrantfile、及びその他必要ファイルを作業フォルダ上に作成します。
vagrant init centos/7
2.Vagrantfileの編集
必要な部分のみを抜粋します。
CentOS7のBoxを利用し、IPアドレスが192.168.33.10である仮想マシンを構築するという処理内容を記述します。
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.network "private_network", ip: "192.168.33.10"
end
3.仮想マシンの作成
vagrant up
コマンド(※)を実行し仮想マシンの作成を行います。
※-provider
オプションを利用して利用する仮想化ソフトの選択可能、VagrantではデフォルトでVirtualBoxを利用する設定としているため今回は省略可能
vagrant up
vagrant status
コマンドで仮想マシンの状態を確認しdefaultの仮想マシンの状態がrunningであればOKです。
c:\Vagranttest>vagrant status
Current machine states:
default running (virtualbox)
The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.
参考記事
Vagrant + VirtualBoxでWindows上に開発環境をサクッと構築する
続き
Vagrantで仮想マシン作成とAnsibleによる簡単なプロビジョニング(Apacheインストール及び起動)を自動化してみました。
【Vagrant】VirtualBox仮想マシンの構築、及びAnsibleによるプロビジョニング(Apacheインストール)を自動化