ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Ubuntu 16.04 DesktopでVagrantを動かす(プロバイダ:VirtualBox)

はじめに

Ubuntu 16.04 DesktopでVagrantを動かしてみました。非常に簡単でしたが、UbuntuをインストールしたPCが古すぎて色々難儀しました。 まず、Ubuntu DesktopをインストールするPCですが、部屋に眠っていたHP Compaq 6710bを使いました。

Model : Intel(R) Core2 Duo CPU T7250@2.00GHz
CPU Cache size : 2048 KB
MemTotal : 4038224 kB
Storage : SSD 128GB
GPU : Intel GM965/GL960

そして最初にUbuntu 16.04 Desktopをインストールしてみようとしたのですが、画面がまったく出ないためインストールできませんでした。

そこでUbuntu 16.04 ServerでインストールしたあとにUbuntu Desktopをインストールしてみました。Ubuntu 16.04 Serverはセットアップも正常に終わったしGUIをインストールする以前は動作していたのですが、再起動後、同じように画面が映らない事象が発生しました。色々デスクトップ環境を入れてみたのですが、GNOMEなら大丈夫でした。

UbuntuVirtualBoxVagrantを入れる!

この後はVirtualBoxVagrantを入れるだけなのですが、バージョンさえ気にしなければUbuntu 16.04にはVirtualBoxVagrantもパッケージが用意されていますので、これをインストールするだけです。ちなみにUbuntuパッケージの現時点(2016年8月4日)の最新版はVirtualBox 5.0.24、Vagrant 1.8.1です。

$ sudo apt update
$ sudo apt install -y vagrant virtualbox

VagrantについてはPPAを追加することにより、もう少し新しいバージョンを利用できるようです。

VagrantCentOS 7を起動!

あとはvagrant initしてvagrant upするだけです。

$ mkdir vagrant && cd vagrant     ←作業ディレクトリの作成と移動
$ vagrant init centos/7                   ←構成ファイルを作成
$ vagrant box add centos/7 http://cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7-x86_64-Vagrant-1607_01.VirtualBox.box                   ←イメージのインポート
$ vagrant up                                    ←起動

起動後はvagrant sshでデプロイしたCentOS 7にアクセスできます。インストールが簡単でいいですね。

Vagrantで起動したCentOS 7を消す

exitでログアウトした後、ホストで"vagrant destroy"を実行するだけです。

centos7 # exit 
$ vagrant destroy 

ブリッジ接続を追加する

Vagrantfileのconfig.vm.networkのコメントアウトを外すだけです。複数のネットワーク接続口がある場合は問い合わせがあるので、使うNICを選択します。

$ vi Vagrantfile
...
# config.vm.network "public_network"  ←この行のコメントを外す

$ vagrant up           ←新しい設定で起動

一つのVagrantfileで複数のインスタンスを起動する方法

次のようなVagrantfileを作ると、ひとつのVagrantfileをつかってたくさんVMを立てることができます。vagrant upコマンドの後にノードの名前を指定すると指定した対象だけを起動できますし、参考サイトのように指定しないとVagrantfileで管理するすべてのノードが起動します。

http://momijiame.tumblr.com/post/65612928334/一つの-vagrantfile-で複数の仮想マシンを管理する
momijiame.tumblr.com

やっぱり、Vagrantっていいですねー。 ちなみにVagrantにはいくつかのプラグインがあって、KVMと連携するプラグインは無償で使えるらしいので、そのうち使ってみようと思います。

このブログサイトはJavaScriptを使っていますが、読み込んでいるJavaScriptは全てはてなが提供しているものであり、筆者が設置しているものではありません。