LoginSignup
10
10

More than 5 years have passed since last update.

vagrant備忘録

Last updated at Posted at 2015-06-11

はじめに

ドットインストールのVagrant入門をみて、Vagrantを覚えた時のメモ。
環境は、mac osX / VirtualBox / Vagrant です。

ドットインストール
http://dotinstall.com/lessons/basic_vagrant

vagrant日本語ドキュメント
http://lab.raqda.com/vagrant/index.html

インストール

以下のサイトから最新のものをインストールします。
私は、VirtualBox4.3.20、Vagrant1.6.5でした。

・VirtualBox
https://www.virtualbox.org/

・Vagrant
https://www.vagrantup.com/

boxの取得

box公開サイト
https://vagrantcloud.com/

$ vagrant box add [box名] [box URL]

boxの確認

$ vagrant box list

初期化

以降のコマンドは、このディレクトリで実行する。

$ mkdir hoge
$ cd hoge
$ vagrant init [box名]

起動等

$ vagrant status  # ステータス確認
$ vagrant suspend # 保留状態にする
$ vagrant resume  # 再開(suspendからの復旧)
$ vagrant halt    # シャットダウン
$ vagrant up      # 起動
$ vagrant reload  # Vagrantfileの修正を反映
$ vagrant destroy # 削除

ssh接続

ログインユーザとパスワードはvagrantとなり、sudo権限がある。
vagrant upしていること。

$ vagrant ssh

共有ディレクトリ

ホストOSのVagrantfileのあるディレクトリとゲストOSの/vagrantは共有ディレクトリになっていて、簡単にファイルをやりとりできる。

プロビジョニング

VagrantfileにゲストOSの設定や自動実行させたいコマンドを記述できる。

$ vi Vagrantfile

以下を編集

・ipアドレス

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

※自分以外のPCからも利用した場合、publicとする。

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

・メモリ

vb.customize ["modifyvm", :id, "--memory", "1024"]

※vagrant1.7.2のときは、以下のように記述した。

config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
end

・コマンド実行

config.vm.provision :shell, :inline => "[コマンド]"

・shell実行

config.vm.provision :shell, :path => "[実行ファイル]"

実行ファイルの例

sudo yum -y install httpd
sudo service httpd start
sudo chkconfig httpd on

・起動時にプロビジョニングを実行

$ vagrant up --provision

・プロビジョニング反映

$ vagrant reload --provision

box作成

Vagrantfileのある場所で実行。

$ vagrant package

プラグイン

$ vagrant plugin list                   # プラグイン確認
$ vagrant plugin install [プラグイン名]   # インストール
$ vagrant plugin uninstall [プラグイン名] # アンインストール

saharaプラグイン

sandbox onした時点からの変更を破棄することができる。

$ vagrant sandbox status   # sandboxモード確認
$ vagrant sandbox on       # sandboxモード開始
$ vagrant sandbox off      # sandboxモード終了
$ vagrant sandbox commit   # 変更の反映
$ vagrant sandbox rollback # 変更の破棄

commitは起動中に実行すると時間がかかる。
vagrant suspendしてから実行すると早くなる。

$ vagrant suspend
$ vagrant sandbox commit
10
10
0

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
10
10