LoginSignup
5
4

More than 5 years have passed since last update.

Start up Vagrant

Last updated at Posted at 2015-05-09

Install

仮想環境をエミュレートするツール

VirtualBox

VirtualBox などの仮想環境エミュレータをコマンドライン上から操作するツール

Vargrant

Add box

Vagrant は仮想イメージを box とよばれるフォーマットで扱う。

box を手っ取り早く入手するには virtualbox が公式で提供しているbox を Atlas のサイトからダウンロードする。こちら

実際には Web ブラウザからダウンロードするのではなく

$ vagrant box add ubuntu/trusty64

というコマンドを実行することで、ローカルの vagrant box の一覧にダウンロードされ追加される。ubuntu/trusty64 という部分が、追加するboxの名前を指定する部分になる。この名前を Atlas のサイトに登録されているかどうか確認し、該当するものがあれば、ローカルにダウンロードされる。

コマンド実行後は

$ vagrant box list

でローカルに登録されたbox のリストを確認することができる。

Activate Linux

box を登録したら仮想マシンを作成し立ち上げる。仮想マシンはディレクトリ毎に管理される。

  1. 適当なディレクトリを作成し、その中に入る
  2. $ vagrant init ubuntu/trusty64 で、ubuntu/trusty64boxを指定した初期化を行う
  3. $ lsVagrantfile が作成されていることを確認する。Windows なら dir
  4. $ vagrant upVagrantfile を元に仮想マシンを作成し起動する
  5. $ vagrant ssh で起動したマシンに login する。デフォルトではユーザ名とパスワードはvagrant
    • Windows の場合は TeraTerm などから、ホスト 127.0.0.1、ポート 2222 でログインする

Tips : Vagrantfile が box名を管理している。

config.vm.box = "ubuntu/trusty64"

マシンのbox名を設定する部分。vagrant init <box名> で指定したものが記載される。

vagrant up の際に、このbox名を参照し、ローカルのbox一覧にあれば、そのboxを使用する。なければatlasに探しに行く。

Control VirtualMachine

  • $ vagrant up マシンの作成と起動
  • $ vagrant halt マシンのシャットダウン
  • $ vagrant reload halt と up を行う
  • $ vagrant destroy マシンを削除する

Configure Network

Vagrantfile に仮想マシンの設定が記載されている。マシンのネットワークの設定もそこで行える。

NAT

デフォルトの状態ではNAT接続になっており、仮想マシンから外のネットワークには接続できるが、外から仮想マシンには接続できない。

PortFoward

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

NAT接続の状態で、特定のポートに外からの接続を受け付けたい場合にはポートフォワードで対応できる。guest: に仮想マシン(ゲストマシン) のポートを指定し、host: にホストマシンのポートを指定する。ホストマシンに対して指定したポートにアクセスがあると、そのままゲストマシンに指定したポートにアクセスを投げてもらう設定

Private

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

ホストマシン内に閉じたネットワークを形成する。仮想マシン(ゲストマシン)は一切外のネットワークに繋がらない

Public

config.vm.network "public_network"

ホストマシンと同列のLAN内に仮想マシンがあるにようする。ブリッジ接続を行う。

Provisioning

$ vagrant up 実行と同時に環境構築を行うことできる。いくつかやり方があるが、Vagrantfile 内に shell プログラムを書いて、up 時に実行されるようにできる。

  config.vm.provision "shell", inline: <<-SHELL
     sudo apt-get update
     sudo apt-get install -y git
  SHELL

こうすることで、up 時に

  • sudo apt-get update
  • sudo apt-get install -y git

の2つのコマンドが実行され、自動的に git がインストールされた環境を手に入れることができる。

$ vagrant provision コマンドを実行しても、実行される。

Provisioning は shell 以外にも chef や puppet を利用できる。

5
4
1

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
5
4