LoginSignup
11
23

More than 5 years have passed since last update.

はじめてVagrantでローカル開発環境の構築した(Mac向け)

Last updated at Posted at 2017-01-26

目的 (2017/3/1 一部修正)

OSS(オープンソースソフトウェア)のVagrantを用いて、仮想環境上に仮想マシンを構築、利用できるようにする作業を自動化する。

開発環境

Vagrantに関連する用語

Boxファイル

仮想マシンを起動する際のイメージファイル

Vagrantfile

仮想マシンのアドレス情報などの設定を記述するファイル

1.VirtualBoxとVagrantのインストール

brewを使いインストールする。

$ brew update  
$ brew install Caskroom/cask/virtualbox Caskroom/cask/vagrant

インストールされているか確認

$ vagrant -v  
$ virtualbox

2.Boxファイルのインストール

Boxファイルのインストール

(vagrant box add BOX名 URL)

$ vagrant box add bento/centos-6.8

インストールされているBoxの確認

$ vagrant box list

追加したBoxの保存場所

ユーザーディレクトリ/.vagrant.d/boxes/box名/

3.準備

vagrantのプラグインを導入

(自分の環境の VirtualBox のバージョンと Box のバージョンが異なる場合に、VirtualBox のバージョンに合わせて最新化するコマンド??)

$ vagrant plugin install vagrant-vbguest

ホームディレクトリに移動

$ cd

Vagrantで作成した仮想マシンを管理するためのフォルダ(名前は任意)を作る。

※今後は、このフォルダ内で仮想マシンを作っていく

$ mkdir MyVagrant

MyVagrantに移動する

$ cd MyVagrant

仮想マシンを作るフォルダ(名前は任意)を作る

$ mkdir MyCentOS

MyCentOSに移動する

$ cd MyCentOS

4.Vagrantfile作成

仮想マシン設定用のVagrantfileを作る

vagrant init Box名

$ vagrant init bento/centos-6.8

Vagrantfileに以下を追記して仮想マシンにIPアドレスを設定する


今回はserver、clientの2つのゲストOS作成のため

ホストOSとゲストOS間(192.168.33.???)と2つのゲストOS間(192.168.55.???)のIPアドレスを2つずつ設定する

*仮想マシンが立ち上がったらpingで確認することを忘れずに!


   config.vm.define "server" do |server|
      server.vm.hostname = "server"
      server.vm.network "private_network", ip: "192.168.55.10", virtualbox__intnet: "in1"
      server.vm.network "private_network", ip: "192.168.33.10"
   end
   config.vm.define "client" do |client|
      client.vm.hostname = "client"
      client.vm.network "private_network", ip: "192.168.55.11", virtualbox__intnet: "in1"
      client.vm.network "private_network", ip: "192.168.33.11"
   end

さらにVagrantfileに以下を追記(Vitual boxのケーブル接続設定)

※これを記述しないと、後のvagrant up時にprivate keyという項目でエラーが出ます。

config.vm.provider "virtualbox" do |vb|  
vb.customize ["modifyvm", :id, "--cableconnected1", "on"]  
end

5.仮想マシンの操作

仮想マシンを起動する(少し時間かかる)

$ vagrant up

仮想マシンの状態を確認する (runningなら起動状態)

$ vagrant status

仮想マシンにログイン

$ vagrant ssh server
または
$ vagrant ssh client

開発などなんやかんや、、、、


仮想マシンからログアウト

$ exit

仮想マシンのシャットダウン

$ vagrant halt

6.(任意)仮想マシンの設定

OSを最新状態にアップデート(時間かかる)

$ sudo yum -y update

※別記事にて、Ansibleによる環境構築もやっています!
http://qiita.com/nl0_blu/items/428656c1147775faefd1

(補足)仮想マシンの操作

  • vagrant up 仮想マシンの起動。vagrantfileのあるディレクトリ内で実行
  • vagrant halt 仮想マシンのシャットダウン
  • vagrant suspend 仮想マシンの一時停止
  • vagrant resume 仮想マシンの一時停止から復帰
  • vagrant reload 仮想マシンの再起動
  • vagrant destroy 仮想マシンの削除(boxは消えない)
  • vagrant status 仮想マシンのステータス表示
  • vagrant ssh 仮想マシンにログイン
  • vagrant ssh-config sshログイン時の設定確認
  • vagrant version バージョン確認+最新バージョンの表示
  • vagrant -h ヘルプ

参考

http://dotinstall.com/lessons/basic_localdev_mac_v2

11
23
2

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
11
23