はじめに
VirtualBoxで新しいソフトウェアの動作検証はよくやるのですが、たまに2台構成(Manager/Agent型、Master/Slave型など)が必要になったときに、毎回ちまちま一つずつVM作っていたので、Vagrantfileでパパっと2台作れるようにまとめました。
作成する構成
環境情報
今回の作業環境は以下の通りです。
- Windows 10 (64bit / Home)
- VirtualBox 5.26
- Vagrant 2.0.2
作ってみる
vagrantboxの準備
使用するboxを準備します。まずboxが置いてある場所
Vagrantbox.es
↑ここから欲しいboxのurlをコピー
コマンドプロンプト
vagrant box add {title} {url}
vagrant init -m {title}
{title}は、自分で自由に決めます。
ただ、自分が使いやすいような自作のBoxを準備してそれを使い回すほうがあとあとやりやすいと思うので、そのような方は以下参考にしてください。
CentOS7.4のvagrantbox作成
自分の環境では以下のコマンドを実行。
コマンドプロンプト
> vagrant box add centos74 D:\Vagrant\CentOS-7.4-x86_64.box
> vagrant init -m centos74
Vagrantfileの修正/vagrant up
vagrant init
で作成されたVagrantfileを修正します。
※config.vm.box = "centos74"
は追加したBox名に合わせて修正してください。
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "centos74"
config.vm.define :vm1 do | vm1 |
vm1.vm.hostname = "VM1"
vm1.vm.network :private_network, ip: "192.168.33.10", virtualbox__intnet: "intnet"
vm1.vm.network :forwarded_port, guest: 22, host: 2201, id: "ssh"
end
config.vm.define :vm2 do | vm2 |
vm2.vm.hostname = "VM2"
vm2.vm.network :private_network, ip: "192.168.33.20", virtualbox__intnet: "intnet"
vm2.vm.network :forwarded_port, guest: 22, host: 2202, id: "ssh"
end
end
<補足>
-
vm2.vm.network :forwarded_port,~
ポートフォワードするSSHポートを指定しています。これがない場合、VM1のSSHポートはデフォルトの2222になりVM2は空いている2223に自動割りあてされます。
修正したらvagrant upします。
コマンドプロンプト
> vagrant up
以上、簡単!