vagrantの仕組みをまとめてみた

vagrant, インフラ

はじめに

vagrantをなんとなく使い始めて、開発環境を作って作業をこれまでやっていました。しかし、設定ミスや仕組みを完全に理解できていないことなどから、ファイルが壊れてしまい、再度環境構築することがたくさんありました。どうせ作るならば、環境を自動で構築してくれるようにもしたいと思います。

vagrant とは

vagrantは仮想マシンを作成しやすくし、操作するためのソフトウェアのこと。ホスト側とは、別のOSを使うこともできる。ホストとゲストのファイルの共有をすることができる。
シェルスクリプトやChef等を使うことにより仮想マシンの環境構築ができる。

Vagrantfileとは

ブートするOSやネットワーク設定などが記述されており、環境を作成するために必要な情報が書かれている。

ホストとゲストのファイル共有設定

config.vm.synced_folder
config.vm.synced_folder "host_path","guest_path"
  • オプション
    • create (bool):true にすると、マウント先が存在しない場合は作成.
    • type マウントの方法

仮想マシンに割り当てるメモリ量

vb.momory

private アドレスの設定

コメントアウトされているので、コメントアウトを外して使う。

config.vm.network :private_network, ip: “192.168.33.10”

provision

開発や環境を揃えるために必要なソフトウェア等をインストールなどの環境構築や初期設定をするために使う。
シェルスクリプト と プロビジョニングツール(Chef)などを使う2通りがある.

よく使うvagrantコマンド

  • vagrant -v バージョン確認
  • vagrant box list boxの一覧表示
  • vagrant box add {url} boxの追加
  • vagrant init {box_name} 指定したboxでVagrantfileの作成
  • vagrant up Vagrantfileをもとに起動
  • vagrant ssh 仮想マシンへの接続
  • vagrant status マシン状態の確認
  • vagrant reload 再起動
  • vagrant destroy マシンの削除