Vagrantで簡単にCentOSを立ち上げよう5(最終回)

※はじめに注意
本記事は、Vagrantの構築を説明していきますが、VirtualBoxを利用するといった特徴上、Docker for Windowsなどとの併用はできません。(Hyper-VVirtualboxの併用が不可能なため)

 

今回は最終回です。実際にVagrantCentOSを立ち上げてみます。

最終回なので、いままでのリンクを以下に示しておきます。

Vagrantで簡単にCentOSを立ち上げよう1 - Pasta-Code[パスタコード]

Vagrantで簡単にCentOSを立ち上げよう2 - Pasta-Code[パスタコード]

Vagrantで簡単にCentOSを立ち上げよう3 - Pasta-Code[パスタコード]

Vagrantで簡単にCentOSを立ち上げよう4 - Pasta-Code[パスタコード]


 

導入の流れは以下のとおりです。

  1. VirtualBoxを導入する。
  2. Vagrantを導入する。
  3. 設定ファイル(Vagrantfile)を作成する
  4. initファイルを用意する(任意)
  5. コマンドをたたく

 

 

最後は至極簡単です。コマンドを叩くだけなので。

 

第1回から第4回の記事を実施していると、構成としては以下のようになっているはずです。

ホスト側のフォルダ/
   ├ Vagrantfile
   └ share/
      └ init.sh

 

まずはこのフォルダ上でコマンドプロンプトを開きます。その際コマンドプロンプトは管理者権限で開いてください。

 

そして、「vagrant up」というコマンドを叩いてください。

以下に例を示します。(ホスト側フォルダはC:\work\test)

 

f:id:kentei0715:20171129233219p:plain

 

 

コマンドの完了には少し時間がかかります。以下のようになればコンプリートです。

 

f:id:kentei0715:20171129233454p:plain

※何かしら設定に問題があると、上のようにならずエラーで失敗します。

トラブルシューティングは本記事の最後に記します。

 

 

上記がコンプリートした時点で、すでにCentOSは動いています。

vagrant ssh default」とコマンドをたたいてみます。

 

f:id:kentei0715:20171129233905p:plain

上記のとおりログインできるはずです。

試しにinit.shで定義していたJavaが入っているか確認してみます。

 

f:id:kentei0715:20171129234101p:plain

上記のとおり、Javaがインストールされているはずです。

 

ということで、コマンド1つ叩くだけで「CentOSが立ち上がり、さらにそのCentOSにはPayaraやJavaVimなどがインストールされている」ことを実現できました。

 

応用すると、もっと複雑な環境も作ることができます。
(DBを設定するとか、Webアプリケーションを立ち上げるとか)

 

 

しかも便利なのが、コマンド一つでこの環境を壊して作り直すことができます。

vagrant halt && vagrant destroy -f && vagrant up」とコマンドをたたけば再構築してくれます。

 

適当に環境を作ってたりして、よくわからなくなった時にコマンド一つで初期化できちゃいます。楽ですね。

 

最後にトラブルシューティングをまとめておきます。

トラブルシューティング

[問題]

以下のエラーでvagrant upの処理が終了する。

==> default: /tmp/vagrant-shell: /vagrant/init.sh: /bin/sh^M: bad interpreter: No such file or directory
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

[解決方法]

init.shの1行目に記載されているbin/shがないと言われています。

ただ存在しないということはなく、問題はinit.shファイルの改行コードになります。

このエラーが出た場合は、init.shの改行コードがLFとなっているか確認してください。

WindowsのCRLFでは本問題が発生してしまいます。

 

[問題]

以下のエラーがvagrant up の処理が終了する。

default: Warning: Authentication failure. Retrying...

[解決方法]

エラーのとおりです。認証に失敗しています。

コマンドプロンプトは管理者権限で開いてください。

 

 

以上です。

2017/11/30 賢帝俊来