Vagrant で仮想マシンを構築する(5) 複数仮想マシンの起動
明けましておめでとうございます。
今年もよろしくお願いします。
引き続き、Vagrant です。
Vagrant では、一つの Vagrantfile で複数の仮想マシンを起動することができます。
仮想マシン同士の通信は、プライベートネットワークで行います。*1
複数仮想マシンの起動
config.vm.define で複数マシンを起動します。
使用する box や共有フォルダ、プロビジョニングは、仮想マシン毎に設定可能です。*2
Vagrant.configure(2) do |config| config.vm.box = "ubuntu/trusty64" config.vm.define "host01" do |config| config.vm.network "private_network", ip: "192.168.56.10" config.vm.synced_folder "./data/host01", "/home/vagrant/data" end config.vm.define "host02" do |config| config.vm.network "private_network", ip: "192.168.56.11" config.vm.synced_folder "./data/host02", "/home/vagrant/data" end end
複数仮想マシンの制御
上記の設定で vagrant up すると、2 つの仮想マシンが起動します。
$ vagrant status 2015-01-01 15:30:50 Current machine states: host01 running (virtualbox) host02 running (virtualbox) .....
仮想マシンを制御する、reload、halt、destroy などのコマンドは、定義名(host01, host02) を指定することで仮想マシン毎に実行できます。
定義名を指定しない場合は、全ての仮想マシンに対して実行されます。
(host01 への ssh ログイン) $ vagrant ssh host01 (host01 再起動) $ vagrant reload host01 (host01 停止) $ vagrant halt host01 (host01 削除) $ vagrant destroy host01