昔のメモを掘り起こしたので、一部加筆修正して転記。
前提
- Windows 7 Professional SP1 64bit
- Oracle VM VirtualBox 4.3.12
- Vagrant 1.8.1
VirtualBox インストール
Downloads – Oracle VM VirtualBox
- VirtualBox older builds > VirtualBox 4.3 > VirtualBox 4.3.12
※4.3.14 以降だとvagrant up
でコケてVMが起動しないので 4.3.12 を使用する - Windows hosts x86/AMD64 をクリックしてインストーラをダウンロード
- インストーラを起動
※途中、デバイスのインストール確認があるのでインストールする (USBコントローラ, ネットワークアダプタ, Network Service)
Vagrant インストール
Download - Vagrant by HashiCorp
$ vagrant -v Vagrant 1.8.1
Vagrant Plugins
※プロキシ環境の場合は環境変数の設定が必要
$ set HTTP_PROXY= ...
vagrant-proxyconf
ゲストOSのプロキシ設定が簡単にできるプラグイン
$ vagrant plugin install vagrant-proxyconf
Vagrantfile に以下の設定を追加する
# Proxy settings config.proxy.http = "..." config.proxy.https = "..." config.proxy.no_proxy = "localhost,127.0.0.1,.example.com"
vagrant-vbox-snapshot
$ vagrant plugin install vagrant-vbox-snapshot
sahara
仮想マシンの状態を管理 (commit, rollback) できるプラグイン
$ vagrant plugin install sahara
仮想マシン起動
Box は Discover Vagrant Boxes | Atlas by HashiCorp で検索できる。
※ここでは nrel/CentOS-6.7-x86_64 を使う。
作業フォルダ上で以下のコマンドを実行して Vagrantfile を生成する。
$ vagrant init nrel/CentOS-6.7-x86_64
以下のコマンドで仮想マシンを起動する。初回は Box をダウンロードするため時間がかかる。
※プロキシ環境の場合は環境変数の設定が必要
$ vagrant up
SSH
TeraTerm など ssh が使えるクライアントから接続する。接続情報は以下のコマンドで確認できる。
$ vagrant ssh-config
秘密鍵の情報は .vagrant/machines/default/virtualbox/private_key
を参照。
フォルダ同期
Vagrantfile があるフォルダはゲストOSの /vagrant と同期しているため、ホスト-ゲスト間で簡単にファイル共有ができる。
基本的なコマンド
パッケージング
以下のコマンドで Box をパッケージングする。
$ vagrant package --output centos67-xxxxx.box
Vagrantfile にパッケージングした Box を使うように設定する。
config.vm.box = "centos67-xxxxx" config.vm.box_url = "centos67-xxxxx.box"
Vagrantfile と centos67-xxxxx.box を配置したフォルダ上で vagrant up
する。