LoginSignup
28
31

More than 5 years have passed since last update.

Vagrantfile のすぐに使えそうな項目(2系)

Last updated at Posted at 2013-06-27

Vagrant Documentation このページから、特に Vagrant を開発環境の構築に使う場合に必要そうなものをピックアップ。ぱっと見、公式には2系しか書いてないっぽいので、以下全部2系での書き方。

動作確認は Vagrant 1.2.2 で行った。(してない項目もある)

基本

config.vm.box どの box を使うかの指定。vagrant box add [name] [url/path]した時の、name を指定する
config.vm.box_url 指定した url から box を持ってくる。ネットワーク上に構築済みの VM を置いておいて、Vagrantfile を配布すれば環境構築が終わる、みたいな使い方ができそう
config.vm.network ネットワーク周りの設定
config.vm.provider バーチャルマシン(VirtualBox, VMware など)固有の設定
config.vm.provision chef とか puppet の設定を書く。ここでは言及しない

config.vm.network

説明
:forwarded_port ポートフォワードの設定 config.vm.network :forwarded_port, guest: 80, host: 8080
:private_network プライベートIPの設定 config.vm.network :private_network, ip: "192.168.50.4"

config.vm.provider

VirtualBox に加えて VMWare もサポートするようになったから増えた項目なのかな?
僕は基本的に VirtualBox しか使わないので、以下は VirtualBox の場合。

基本

config.vm.provider "virtualbox" do |v|
  v.gui = true
  v.name = "name"
end

こんな形で、config.vm.provider に "virtualbox" を指定して、そのブロックの中で設定を書いていく。

gui true で GUI で起動
name GUI の VirtualBox のリスト画面に出る名前
customize Chapter 8. VBoxManage ←これを使えるぽい。

customize

とりあえず modifyvm を眺めて使えそうなセッティングを2つピックアップ。(むしろその他の設定はよく分からず…)

  • --memory : RAM を設定する。単位は MB。
  • --cpuexecutioncap <1-100>: バーチャルマシンのCPU使用率を設定する。50で設定したら、50%まで使えるようになる。ホストマシンに迷惑をかけないようにする設定。

下のような設定でいけるはず。

config.vm.provider "virtualbox" do |v|
  v.customize ["modifyvm", :id, "--cpuexecutioncap", "50", "--memory", "1024"]
end

:id は特別な変数で、バーチャルマシンに割り当てられた id に置き換わる模様。


Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu1204LTS"

  config.vm.network :forwarded_port, guest: 3000, host: 3100
  config.vm.network :private_network, ip: '192.168.50.50'

  config.vm.provider "virtualbox" do |v|
    v.name = "ubuntu 12.04 LTS"
    v.customize ["modifyvm", :id, "--cpuexecutioncap", "50", "--memory", "1024"]
  end
end
28
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
31