16
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WindowsでVagrantを導入、バックアップ、復元のまとめ

Last updated at Posted at 2016-07-02

WindowsでVagrantを導入のまとめ

Vagrantについて

VagantはVirtualBoxのフロントエンドとして使用することができるruby製のツールで、コマンドラインから仮想OSを管理できます。

つまり、VirtualBoxを管理できるツールということ

導入メリット

  • チーム間でテスト環境を同一で統一出来る
  • チーム間でテスト環境を準備する時間が省ける
    ※個人で使用するのも含め、これが一番大きいかもしれない
  • スナップショットでその時点のバックアップを取れたりするのですぐに開発環境を戻せたりなどの恩恵が受けられる
    ※VirtualBoxの機能
  • macでもwindowsでも開発環境の違いが関係なくなる
  • railsとか動作が環境依存するようなアプリケーションが本番と同じ設定で動作する

導入手順

  • VirtualBoxの左のDownloadsから「VirtualBox x.x.xx for Windows hosts」をダウンロードして、インストール
  • VagrantDownloadから「WINDOWSUniversal (32 and 64-bit)」をダウンロードしてインストール
  • コマンドプロンプトで下記のコマンドを打ち、バージョンが帰ってきたらインストール成功
vagrant -v
  • vagrantboxからCentOSのboxのURLをコピーする
    ※CentOSの中でも一番上にある「CentOS 7.0 x64 (Minimal, VirtualBox Guest Additions 4.3.28, Puppet 3.8.1)」を選んだ
    ※PuppetはChefやAnsibleのようなシステム自動構築ツールでPuppetを使わずChefやAnsibleを使ってもいい
  • 下記のコマンドでboxを追加する
    ※コマンドの解説:vagrant box add タイトル URL
vagrant box add centos https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
  • boxの設定ファイルを作る
    ※コマンドの解説:vagrant init box名
    ※設定ファイルを修正することでIPなどの設定を変更できる
    ※Vagrantfile(設定ファイル)から起動するので「Vagrant\centos\Vagrantfile」のようにフォルダを分けた方が良いかもしれない
vagrant init centos
  • boxを起動する
    ※vagrant initしたカレントディレクトリで実施
    ※毎回コマンドを打って起動するのも大変なのでバッチファイルでも作っておく
vagrant up
  • tera termでssh起動
    ※sshのIPとportはvagrant upした際に表示される。ちなみにrootのパスワードもvagrant
    ※VirtualBoxを起動するとcentosが実行されているのが分かる
    ※毎回ログインするのも面倒なのでteratermのログインマクロでも作っておく
ホスト:127.0.0.1
ポート:2222
ユーザ名:vagrant
パスワード:vagrant

boxのバックアップと復元(box自体をエクスポートして削除してインポートするまで)

壊したり、復元したりすると思うのでbox自体をエクスポート、削除、インポートする手順

  • 下記コマンドでboxを停止
    ※停止したいboxのVagrantfileのカレントディレクトリに移動して実行
vagrant halt
  • 下記コマンドでboxファイルをエクスポート
vagrant package
  • 下記コマンドでboxを削除
    ※削除したいboxのVagrantfileのカレントディレクトリに移動して実行
vagrant destroy
  • 下記コマンドでbox一覧から削除
    ※カレントディレクトリ内にあるVagrantfile、.vagrantを削除しても最終データがきちんとインポート出来た
vagrant box remove centos
  • 下記コマンドでboxをインポート
    ※コマンド解説:vagrant box add 新規作成ボックス名 バックアップファイル
vagrant box add centos package.box
  • boxの設定ファイルを作る
vagrant init centos
  • boxを起動する
vagrant up

boxのスナップショット(vagrant1.8から)

※vagrant destroyしてしまうとスナップショットも失われてしまうので注意すること(Vagrantfileファイル、.vagrantフォルダを残していたとしても)

  • 下記コマンドでboxを停止
vagrant halt
  • 下記コマンドでスナップショットを取る
vagrant snapshot save 20160702_1156
  • 下記のコマンドでスナップショットが取れているかを確認
vagrant snapshot list
  • 下記のコマンドでスナップショットを復元
vagrant snapshot restore 20160702_1156
  • 下記のコマンドでスナップショットを削除
vagrant snapshot delete 20160702_1156

よく使うコマンド

  • vagrant box remove box名
    ※vagrantのbox一覧からboxを削除
  • vagrant box list
    ※追加されたvagrantのbox一覧
  • vagrant status
    ※実行しているbox一覧
  • vagrant up
    ※VirtualBoxに登録して、Vagrantfileからboxを起動する
  • vagrant halt
    ※VirtualBoxのboxを電源停止
  • vagrant destroy
    ※VirtualBoxからboxを削除

参考

16
25
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
16
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?