Vagrant/とりあえず使ってみる

Vagrant/とりあえず使ってみる

Vagrant のインストール

Download Vagrant - Vagrant ここから Mac 版を落としてインストール。

現在バージョンは 1.5.1。

VirtualBox のインストール

普段は開発用に VMware Fusion 上の Linux mint を使っているが、Vagrantは標準では VirtualBox なのでそれに従う。 つまり簡単に言うと Vagrant というのは VirtualBox のオートパイロットアプリということだ。

なので VirtualBox をインストールする。VMware Fusion との同居は問題ないようだ。

Box ファイルの取得

VirtualBox で起動するためのイメージファイルを持ってくるこれを Box ファイルと言うらしい。 名前からして VirtualBox べったりな名前になっているが、それもそうでこれは単なるOSがインストール済みになっているVirtualBoxのイメージファイルだ。

このファイルの存在で Vagrant が特に何も高度な機能がないことがわかるだろう。単にオートパイロット環境なのだ。簡単に考えよう

A list of base boxes for Vagrant - Vagrantbox.es ここに各ファイルが有る。

CentOS6.5のちょっとサイズが小さめのやつを選んでみよう。今はURLをメモるだけ

https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box

Mac の Vagrant 環境に Box ファイルを登録する

$ vagrant box list
There are no installed boxes! Use `vagrant box add` to add some.

ということで何も登録されていない

vagrant box add に続き、識別したい適当な名前と box ファイルの位置を指定してドン

$ vagrant box add centos65 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box

Box ファイルのダウンロードが開始される

$ vagrant box list
centos65 (virtualbox)

登録された。

このファイルは展開されて

~/.vagrant.d/boxes/

以下に格納されている。

VMを起動する

起動したインスタンスの設定とかを保存しておくディレクトリを作る

$ mkdir -p myvagrant/centos65001
$ cd myvagrant/centos65001

初期化

$ vagrant init centos65

ディレクトリに Vagrantfile という Ruby で書かかれた設定ファイルが生成される

起動

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos65'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: centos65001_default_1394772400670_85267
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Error: Connection timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/hoge/myvagrant/centos65001

ホストからVMへ接続する

$ vagrant ssh

これで SSH で接続される

ファイル共有する

VM 上の /vagrant ディレクトリはホストの myvagrant/centos65001 と共有されている。以上。

VMを停止する

$ vagrant halt
==> default: Attempting graceful shutdown of VM...

これはインスタンスの電源を切っているだけなので当然再び

$ vagrant up

すれば、切る前の状態を維持(イメージから作ったばかりの状態ではない)して開始できる。

VMを破壊する

$ vagrant destory

インスタンスを最初の状態からやり直したい場合はdestoryコマンドで破壊してからまた vagrant upすれば最初から再構築される。

テストや、環境構築の試行錯誤をやる場合はこれは便利な機能

Tag

vm/vagrant/first_time.txt · 最終更新: 2017-09-27 17:25 by ore