Vagrant(ベイグラント)
2014年05月13日
仮想環境構築ツール
特徴
- 簡単にVM環境の構築、破棄を簡単なコマンドで実行できる。
- Vatualbox等のフロントエンドコマンドラインツール
- 他にもAWSのEC2等も操作することが出来るらしい
- Vatualbox等のフロントエンドコマンドラインツール
- 配布されているBox(VMイメージのテンプレート)からゲストOSを作成
- 構築した環境をBoxにして簡単に配布できる。
- rubyで実装されており、設定ファイルはrubyで記述できる
- VMの環境設定の自動化はchefが便利
必要なもの
使い方
1. Boxを取得
$ vagrant box add <name> <url>
公式よりubuntuのインストール
$ vagrant box add hashicorp/precise32
Boxes - Getting Started - Vagrant Documentation
Vagrantbox.es
有志がboxを作って共有しているサイト。どこの誰が何しているか分からないので利用は慎重に!
opscode/bento
Chefの作者が公開しているboxなので安心。
bentoからcentos 6.5を追加
$ vagrant box add centos6 http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.5_chef-provisionerless.box
自分で作る
2. インストールされたBoxの確認
$ vagrant box list
centos6 (virtualbox, 0)
hashicorp/precise32 (virtualbox, 1.0.0)
box操作のhelp
$ vagrant box -h
3. 仮想マシンを初期化して起動
$ mkdir centos6
$ cd centos6
$ vagrant init centos6
Vagrantfileが作成される。
CentOsの起動
$ vagrant up
主な他操作コマンド
コマンド | 説明 |
---|---|
vagrant up | 起動 |
vagrant status | 状態確認 |
vagrant reload | 再起動 |
vagrant halt | 終了 |
vagrant suspend | サスペンド |
vagrant resume | 再開 |
vagrant destroy | 削除 |
4. 仮想マシンへ接続
$ vagrant ssh
Last login: Fri Mar 7 16:57:20 2014 from 10.0.2.2
[vagrant@localhost ~]$
切断はexit
windowsだとvagrant ssh
は使えない。
sshクライアントから接続する。
接続情報はvagrant ssh-config
で確認。
パスワードはUserと同じ。
Vagrantfileの変更
1. ネットワーク設定を変更
Vagrantfileの以下のコメントを外す
#config.vm.network "private_network", ip: "192.168.33.10"
↓
config.vm.network "private_network", ip: "192.168.33.10"
2. プロビジョニング
起動時にshellを実行してみる
Vagrantfileへ追加
config.vm.provision :shell, :path => "provision.sh"
起動時にhttpdの設定を行うshell
provision.sh
sudo yum -y install httpd
sudo service httpd start
sudo chkconfig httpd on
$ vagrant provision
環境設定周りはChefを使うと便利。
Vagrantfileを変更したらVMの再起動
$ vagrant reload
共有フォルダ
ホストOSのvargent init
したフォルダとゲストOSの共有フォルダ
$ ls
Vagrantfile
$ vagrant ssh
[vagrant@localhost ~]$ ls /vagrant
Vagrantfile
現在の仮想マシンの状態からboxを作成する。
$ vagrant package
package.box
が作成される
プラグイン
help
$ vagrant plugin -h
sahara
Guiで起動する
Vagrantfileの以下の部分のコメントを外す
config.vm.provider "virtualbox" do |vb|
# Don't boot with headless mode
vb.gui = true
# Use VBoxManage to customize the VM. For example to change memory:
vb.customize ["modifyvm", :id, "--memory", "1024"]
end
vagrant up
するとGuiで起動する
参考
blog comments powered by Disqus