LoginSignup
10
16

More than 5 years have passed since last update.

Vagrantfile 覚書

Last updated at Posted at 2016-06-21

vagrant init で生成される Vagrantfile のコメントの日本語訳。

Vagrant.configure

Vagrant の設定を下記のブロック内へ記述する。
Vagrant.configure に記述されている “2” は設定のバージョンを表す。
(旧式の設定書式との後方互換をサポートしている)
設定について理解を深めたうえで変更を行うこと。

Vagrant.configure(2) do |config|
   config.プロパティ名 = 
   .
   .
   .
   .
   .
   .
end

最も一般的な設定オプションを以下に記載する。
詳細は オンラインドキュメント を参照。

config.vm.box

Vagrant の開発環境では box が必要となる。
ユーザは box の検索 を行うことができる。

config.vm.box = "ubuntu/xenial32"

config.vm.box_check_update

box の更新確認を無効化する。本設定を無効化した場合、
ユーザが vagrant box outdated を実行した時に box の更新確認が行われる。
更新確認の無効化は推奨しない。

config.vm.box_check_update = false

config.vm.network(ポート転送)

ポート転送の関連付けを作成する。
ホストマシンのポートからゲストマシンのポートへの接続を許可する。
下記の例では “localhost:8080” からゲストマシンの 80 番ポートへ接続する。

config.vm.network "forwarded_port", guest: 80, host: 8080

config.vm.network(プライベートネットワーク)

プライベートネットワークを作成する。ゲストマシンへ指定した IP を割当て、
host-only ネットワークを介した接続を許可する。

config.vm.network "private_network", ip: "192.168.33.10"

config.vm.network(パブリックネットワーク)

パブリックネットワークを作成する。一般的なブリッジネットワークを作成する。
ブリッジネットワークはネットワーク上の他の端末から接続することができる。

config.vm.network "public_network"

config.vm.synced_folder

ゲストマシンへ共有フォルダを登録する。
最初の引数はホストマシンに実在するフォルダのパスを指定する。
第二引数はゲストマシンのマウントパスを指定する。
第三引数は省略することができる。

config.vm.synced_folder "../data", "/vagrant_data"

config.vm.provider

プロバイダの設定を行う。
ユーザは任意のプロバイダを Vagrant へ適用することができる。
以下へ Virtual Box を使用する場合の例を掲載する:

config.vm.provider "virtualbox" do |vb|
   vb.プロパティ名 = 
   .
   .
   .
   .
   .
   .
end

vb.gui

仮想マシン起動時に VirtualBox GUI を表示する。

vb.gui = true

vb.memory

仮想マシンのメモリー容量を設定する。

vb.memory = "1024"

プロバイダで使用できるオプションの詳細についてはオンラインドキュメントを参照。

config.push

Vagrant Push による Atlas へのプッシュ方法を定義する。
FTP や Heroku 等、 他のプッシュ方法 を利用することもできる。

config.push.define "atlas" do |push|
   push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
end

config.vm.provision

shell script によるプロビジョニングを有効にする。
プロビジョナとして Puppet, Chef, Ansible, Salt, Docker を
利用することができる。詳細は オンラインドキュメント を参照。

config.vm.provision "shell", inline: <<-SHELL
   sudo apt-get update
   sudo apt-get install -y apache2
SHELL
10
16
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
10
16