Vagrant の設定あれこれ
細かい事は公式サイトをみるといいんだろうけど英語だし・・・ちょっとしたことなんだけど良く忘れるのでメモっておく。
超おまかせ設定
最低限の設定、アクセスは 127.0.0.1:3333
でアクセスする。
Vagrantfile
config.vm.define :web do |web|
web.vm.network :forwarded_port, guest: 22, host: 3333, host_ip: "127.0.0.1", id: "ssh", auto_correct: true
end
Vagrant起動時にshellを実行させる設定&別パーティションの共有フォルダ追加する設定
Vagrantfile
config.vm.define :web1 do |web1|
web1.vm.synced_folder "C:/Users/temp/vagrant_share", "/vagrant_share", type: "nfs"
web1.vm.provision "shell", inline: <<-EOT
echo hello
EOT
end
Vagrant単位に使用するメモリや、サーバ名の設定
Vagrantfile
config.vm.define :web2 do |web2|
web2.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", 512]
v.name = "web2"
end
end
プライベートネットワークの設定
http://docs.vagrantup.com/v2/networking/private_network.html
Vagrantfile
config.vm.define :web3 do |web3|
web3.vm.network :private_network, ip: "192.168.11.200"
end
パブリックネットワークの設定
Vagrantfile
config.vm.define :web4 do |web4|
web2.vm.network :public_network, ip: "192.168.0.128"
end
ホストOSのhostsファイルにゲストOSのホスト名・IPを追加・削除してくれるVagrantプラグイン
コマンドラインで vagrant plugin install vagrant-hostsupdater
を実行する。通常通りに vagrant up
で、ホストOS側の hosts ファイルにゲストOSのホスト名・IPを追加してくれるそうな。
config.vm.hostname = "hogehoge.devel"
config.vm.network :private_network, ip: "192.168.33.250"
環境変数で Vagrant の bridge を指定できるようにする
複数のネットワークカードがある場合、これは便利かも。
リンク
vagrantのネットワークについて
Vagrantのネットワーク周りのあれこれ
vagrantのネットワーク設定を見てみよう。
vagrantのprivate_networkのIP指定でエラーが出る人は今すぐアップデートしましょう