vagrant使うときのipアドレスを自分の好きなようにカスタマイズ!

vagrantのipアドレスをドメイン使って表示したい!

最近railsのアプリケーションを遊びで作ったりしてるんですけどその時にvagrantをよく使ってます。
vagrantってお手軽ですごくいいですよね!
すぐに壊したり再構築したりできるし!
(dockerもいいよ!みたいなのよく聞くんですが何がいいかいまいちわかってないので誰か教えてください(´;ω;`))

さて、vagarntを立ち上げてwebアプリケーションを動かした場合、そこにアクセスするためにはipアドレスをブラウザに打ち込まなければなりません。
デフォルトだとhttp://192.168.33.10だと思います。
ちなみにVagrantfile内にこの設定書いてあるんでそこを書き換えれば192.168.33.10以外のipも指定できますね!
確認したい人はターミナルでVagrantfileがある場所まで行って
cat Vagrantfile
してみましょう!

ipダサっ!問題!

しばらくそのまま開発進めてたんですがipアドレスがダサい。

http://192.168.33.10て。。。
http://192.168.33.10/usersっておい。。。

僕はまだまだ新米エンジニアなのでipアドレスで表示してあるとテンション上がらないんです。
ipアドレス表示かっけぇええええってなれないんです。

できることならいつも見てるwebサイトのアドレスみたいに表示したい!
http://192.168.33.10じゃなくてhttp://fukamin.comみたいに表示したい!

どうすればいいんだ!

Vagrantfileに追記すれば解決した!

最初に作られるVagrantfileには書いてないんですが、オプションとして追記すれば指定できることを知りました!

Vagrantfileの中盤の

ここを下の用に編集しましょう!

こうすることでhttp://local.fukamin.meにアクセスするとhttp://192.168.33.10を見てくれるようになります!

これ実際何やってるの?

実はPCにはhostsというファイルが有りそこでurlを制御しています。(ちょっと語弊があるけどそんな感じです)

ちなみにデフォルトのhostsはこんなかんじです。(#はコメントアウトと言ってただのメモなので気にしないでください。)

これは「右の言葉をブラウザに打つと左にipにアクセスするよ」という意味です。
例えば、上の

127.0.0.1 localhost


http://localhostとブラウザに打つと、http://127.0.0.1という場所にアクセスするよという意味です!

vagrantを立ち上げた時はlocal.fukamin.meで192.168.33.10にアクセスしました!
つまりvagrantが立ち上がった時に、この/etc/hostsに

「local.fukamin.meにアクセスしたら192.168.33.10にアクセスしてね!」

という命令を与える記述が追記されているのです!

ということでvagrantを立ち上げたあとに/etc/hostsを見てみましょう!

一番下に記述が増えてますね!# VAGRANT …のあとは説明なので無視しましょう!
その前の
192.168.33.10 local.fukamin.me
は先ほど説明したとおり、

local.fukamin.meにアクセスしたら192.168.33.10にアクセスしてね!

という意味でしたね!

まとめ

ipアドレス以外でvagrant内のアプリにアクセスしたい。

Vagrantfileに

という記述をすればいい。

やってることはvagrantを立ち上げた時にlocal.fukamin.meを指定したip(デフォルトだと192.168.33.10)に飛ばす

ということですね!

っていうかわざわざVagrantfileに書かなくても/etc/hostsでurl管理してるならそこに書けばええやん

たしかにそうなんですが、問題がありまして。

/etc/hostsに直接書いてしまうとvagrantが立ち上がっていない時にもその制御が効いてしまいます。

例えば今回の例の場合、http://local.fukamin.meにアクセスするとhttp://192.168.33.10にアクセスするようにしました。

仮に今後local.fukamin.meというサイトがweb上にできたとします。

するとそこにアクセスしようとしても/etc/hostsが「いやいやそこに行こうとしても192.168.33.10に飛ばしてやるぜ!」というふうな処理をしてしまいます。

そうするとそのサイトには行けないんですね。

なので、vagrantが立ち上がっている時だけhostsを書き換えるほうがいいです。

長くなりましたが、Vagrantfileに一行記述すれば好きなurlでvagrant内のアプリにアクセスできるよ!って話でした!

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク