うすのブログ

初心者プログラマです。

Vagrant 初心者 Network 設定

初心者ができるvagrantの設定

Vagrantとは CUI上の仮装環境の構築、およびネットワークなどの設定が簡単にできます。 また、他人が作った設定(Box)を利用することで 複数人が全く同じ仮装環境を構築できる優れもの

なぜ仮装環境が流行っているか - 最近、仮装環境が流行っています。 なぜかというと、ある程度PCのスペックが上がってきて 処理負荷に耐え、速い処理で本物みたいに仮装環境を動かせるので もはや、仮装環境は本物と同じと言っていいくらいです。 - 仮装環境のメリットとは、 同じ環境の複製を大量に作れる 別の環境で同じ動作ができる環境を瞬時に作ることができます。 環境構築に失敗してもすぐに捨てて一から作れる利便性

本題

vagrantの設定は、まずVagrantの構築ができている人前提で話を進めます。 Vagrantの設定は、全てVagrantfileで設定します。 デフォルトの内容は、コメントアウトだらけです。 有効な内容は、

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

これだけですね。

ここに必要なものを足して(コメント外して)いきます。

HostPCとVagrant間の通信のみを考えている人

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

という行のはじめの#をとって有効にしてください。

他の端末でvagrantで作ったwebsiteを見たい人は

config.vm.network "public_network"

の行の#をとって有効にしてください。 また、途中で何か聞かれたらwi-fiの1でいいと思います。 なんなら、設定書いた方がいいです。

config.vm.network "public_network", ip "192.168.1.10", bridge "en0: Wi-Fi (AirPort)"

ipaddress → 192.168.1.10に指定 bridge → en0: Wi-Fi (AirPort)に指定

独自のドメインを楽しみたい人

まずプラグインのインストール

$ vagrant plugin install vagrant-hostsupdater

vagrant-hostupdaterと間違えないでください(自分...)

その後Vagrantfile内(using a specific IP.の下)に

config.vm.hostname = "好きなドメイン"

を追加してください。(私の場合「myraspi.com」)

 35   # Create a private network, which allows host-only access to the machine
 34   # using a specific IP.
 35   config.vm.hostname = "myraspi.com"
 36   config.vm.network "private_network", ip: "192.168.33.10"

この後リロード(再起動)

$ vagrant reload

再起動中に何か聞かれる. 番号を聞かれたらpublicの時みたいにwi-fiの選択肢1を選ぶか,設定する

なお、publicかつオリジナルのドメインは、できない... できる方がいたら教えて欲しい...

privateとpublicは、同時に設定もできるが あくまで二つの機能を使えるだけで ホストPCでドメインを使えても 他の端末で使えないのであまり意味がないという結論に至った。

結果として、やりたかったpublic_networkができただけでもいいや。