4
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Vagrantで開発環境を構築(1.仮想マシン作成編)

目的

  • 勉強の一貫で記事をまとめる.
  • VagrantとVirtualBoxで仮想環境を作成できるようになる.

前回:Vagrantで開発環境を構築(0.事前準備編)
今回:Vagrantで開発環境を構築(1.仮想マシン作成編)
次回:Vagrantで開発環境を構築(2.仮想環境設定編)

boxの追加

Vagrantでは,構築する仮想マシンのOSのイメージファイル等をまとめたboxを用いる.

1. ターミナルで下記のコマンドを実行.

ターミナル
$ vagrant box add <box名> https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box # CentOS7.2のboxをインストールして追加

$ vagrant box list # 確認

定義ファイルの作成

先ほど追加したboxを用いて仮想マシンの定義ファイルを作成.

1. プロジェクトディレクトリに移動して,下記コマンドを実行.

ターミナル
$ vagrant init <box名(任意)> # Vagrantfileを作成

$ ls # 確認

参考:Vagrantの使い方

2. Vagrantfileを編集.

先ほどのコマンドを実行すると,プロジェクトディレクトリに仮想マシンの定義ファイルであるVagrantfileが作成されている.
今回はこのVagrantfile に対して最低限の下記の編集を行う.
(細かい設定はよく分からないので要勉強.)

Vagrantfile
# config.vm.network "private_network", ip: "192.168.33.10"
  ↓
config.vm.network "private_network", ip: "192.168.33.10" # 35行目辺り

# config.vm.network "forwarded_port", guest: 80, host: 8080
  ↓
config.vm.network "forwarded_port", guest: 80, host: 8080 # 26行目辺り

# config.vm.synced_folder "../data", "/vagrant_data"
  ↓
config.vm.synced_folder "./", "/var/www" # 46行目辺り

参考:VagrantコマンドとVagrantfileの設定メモ

3. 仮想マシンの起動

ターミナルで下記のコマンドを実行.

ターミナル
$ vagrant up # 仮想マシンを起動

$ vagrant status # 確認

(仮想マシンを終了させるには,$ vagrant halt を実行.)

4. Vagrantプラグインのインストール

$ vagrant up で仮想マシンを起動するときに下記のエラーメッセージが出て,共有フォルダのマウントに失敗することがある.

エラーメッセージ
Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:

mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3`,dmode=777,fmode=666 vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant`,dmode=777,fmode=666 vagrant /vagrant

The error output from the last command was:

/sbin/mount.vboxsf: mounting failed with the error: No such device

これは,VirtualBoxのアップデート後に起きる可能性があり,フォルダ共有機能を提供しているGuest Additionsをvagrant up時に自動的に更新してくれるプラグインvagrant-vbguestをインストールしておくことで解決できる.
なので,エラーが起きなくてもインストールしておくのがオススメ.

ターミナルで下記のコマンドを実行.

ターミナル
$ vagrant plugin install vagrant-vbguest

再び$ vagrant up することで更新がされる.

参考:Vagrantで共有フォルダのマウントに失敗するときの対処方法

仮想マシンにssh接続する

とうとう仮想マシンに接続する.

1. ターミナルで下記のコマンドを実行.

ターミナル
$ vagrant ssh # 仮想マシンにssh接続する

# 192.168.33.10 ssh でもOK

まとめ

以上で仮想マシンの作成が完了.
次回から実際に仮想マシンの環境を整えていく.

前回:Vagrantで開発環境を構築(0.事前準備編)
今回:Vagrantで開発環境を構築(1.仮想マシン作成編)
次回:Vagrantで開発環境を構築(2.仮想環境設定編)

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
4
Help us understand the problem. What are the problem?