1
4

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)に VirtualBox + Vagrant で CentOS 7 を起動させる

Last updated at Posted at 2016-09-10

概要

今まで、VirtualBoxで手動起動させていたVMをVagrantを使って起動できるようにとした時のvagrantについて備忘録を残します。

本稿は、
VirtualBox&Vagrantのインストール → 公開されているboxをlistに登録 → 登録したboxからVM起動
の流れで書いています。
また、VirtualBox,Vagrantのローカルへのインストールについてはインストーラが公式からダウンロードできますので簡単に書いています。
(boxのカスタマイズと既存VMのbox化、Vagrantfile内の設定項目について は別途 投稿できればいいなと思っています。)

インストール

ローカル環境

  • Windows 8.1 64bit

VirtualBox

以下のリンクからインストーラをダウンロードする。
リンク

  • インストーラ

VirtualBox-5.0.20-106931-Win.exe

任意の場所にインストールし、VirtualBox を起動できることを確認。

Vagrant

以下のリンクからインストーラをダウンロードする。
リンク

  • インストーラ

vagrant_1.8.5.msi

こちらも任意の場所にインストールします。
コマンドプロンプト や PowerShell で以下を実行し、バージョンが表示されることを確認。

コマンドプロンプト
vagrant -v

表示されない場合は、Pathが通っていないことが考えられますので、
"システムの詳細設定" から "Vagrantをインストールした配下のbin" に環境変数を通してください。

boxのダウンロードとlistへの登録

現段階ではまだVMを起動できません。VMのイメージファイルの集まった"box"が必要になります。
今回は、Vagrantのサイトで配布されているboxイメージを使って作成していきます。
(boxのカスタマイズについては別途投稿できればと思っています。)

以下 コマンドプロンプト もしくは PowerShell で実行します。

コマンドプロンプト
vagrant box add centos/7

実行すると、メタデータをここからロードするから、providerを選んで! と、出力されます。
ここは "2) VirtualBox" を選んでください。

コマンドプロンプト(出力例)
1)  libvirt
2) virtualbox
3) vmware_fusion
4) vmware_workstation

Enter your choice:

providerを選ぶと、**"boxファイルのダウンロード""boxのlistへの登録"**が実行されます。
successfullyが表示されていれば登録が正常に完了しています。
boxのlistを以下で確認してください。

コマンドプロンプト
vagrant box list
コマンドプロンプト(出力例)
centos/7     (virtualbox, xxxx.xx)

さあ、起動まであと少しです!!

Vagrantfileの作成

ここで作成するもの

  • Vagrantfile:起動するVMの定義ファイル
  • .vagrantフォルダ:起動するVMの情報が格納されるフォルダ

では、作っていきましょう。
Vagrantfileとはvagrantで起動するVMの定義ファイルです。任意のフォルダに移動して、登録したboxを"init"します。

コマンドプロンプト
vagrant init centos/7

initすることでフォルダ内にVagrantfileが作成されていますので確認してください。
出力はVagrantfileをこのフォルダに置いたよ!ファイルのコメントだけでなくvagrantup.comも読んでね!と書いてあります。
今回はVagrantfileの変更は行わずそのまま起動させてみます。
(Vagrantfileの中については別途 投稿できればと思っています。)

VMの起動

Vagrantfileがあるフォルダに移動して以下を実行しVMを起動させます。
初回実行時に**.vagrantフォルダ**を作成し、VMの情報を配置します。

コマンドプロンプト
vagrant up

vagrant up時に様々なエラーが出ることが予想されますので、都度 対処は必要になります。
以下 よく起きそうなエラーの対処法を記述します。

rsyncのエラーが出る場合:
ダウンロードしたboxのVagrantfileの設定が悪さをしている可能性があります。
そのため、起動するVMのVagrantfileで設定を上書きしてあげます。
ダウンロードしたboxのVagrantfileはユーザホームの vagrant.d\boxes 内にダウンロードされていますので、syncしているフォルダを確認してください。

Vagrantfile
config.vm.synced_folder ".", "syncしているフォルダ", disabled: true

sshの認証でエラーが出る場合:
vagrantユーザの "公開鍵を格納する .ssh ディレクトリ" or "公開鍵" のパーミッションが間違っています。
VBoxでVMを起動します。ログイン画面から、vagrantユーザのパスワード認証でログインしパーミッションを変更してあげることで、vagrantで起動できるはずです。

出力された項目を見てみると、なんとなくわかると思いますが、
vagrant というユーザで 127.0.0.1(host)の2222ポートにssh接続しています。
(2222が埋まっている場合は2200などに変わります)
接続はVM(guest)の22ポートへPortForwardingされたあと、VMの各種設定をこなしています。

これで、VMの起動ができたので あとは、TeraTerm や poderosa などのクライアントでssh接続できれば問題なしです。

VMへのssh接続

接続情報

  • 接続先:localhost
  • ポート:2222
  • ユーザ:vagrant
  • パスワード:vagrant(デフォルトパスワード)

VMの停止

停止は以下で出来ます。

コマンドプロンプト
vagrant halt

(出力にgraceful shutdownと出力されています。優雅にシャットダウンをしてくれる...
パワーオフではなくゲストOS側で shutdown -h now してくれているのだろう、多分...)

1
4
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
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?