Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Vagrant | マトリョーシカ的にUbuntu1204仮想環境上のVirtualBoxにUbuntu1204仮想環境を構築する

概要

マトリョーシカ的にUbuntu1204仮想環境上のVirtualBoxにUbuntu1204仮想環境を構築する

詳細

マトリョーシカ的にUbuntu1204仮想環境上のVirtualBoxにUbuntu1204仮想環境を構築します。

前提

ホストOS:Windows7
ゲストOS(今回作成するUbuntu1204からみるとホストOS):Ubuntu1204 64bit
ゲストOSのゲストOS:Ubuntu1204 32bit

ゲストOSはVagrant, VirtualBox(4.2)のインストールを含めて構築済みとする。
(下記のクックブックを利用すれば作成できます。)
vagrant向けcookbookの作成=>http://d.hatena.ne.jp/tbpg/20131114/1384442302
virtualbox向けcookbookの作成=>http://d.hatena.ne.jp/tbpg/20131114/1384442302

便宜上、ホストを親、ゲストを子、ゲストのゲストを孫とします。

手順

# 親から子を起動
vagrant up

# 親から子にsshログイン
vagrant ssh

# 作業用ディレクトリの作成と移動
mkdir work
cd work
mkdir sample_ubuntu
cd sample_ubuntu

# BOXファイルの追加
vagrant box add precise32 http://files.vagrantup.com/precise32.box

# 孫用のVagrantfileの編集。詳細は後述
cat <<EOS>Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "precise32"
  config.vm.provider :virtualbox do |vb|
    vb.name = "grandson"
  end
end
EOS

# 孫用の仮想環境を起動
vagrant up

# 子から孫への接続確認
vagrant ssh