Vagrant 活用していますか?


2019年1月14日

皆さんこんにちは。
今年こそは県外の色々なところへ移動して、各所の情景を撮影しようと思っている末ちゃんです。

Vagrant

さて、皆さんVagrant活用していますか?
エンジニア以外の人は、耳にしたことがない人もいるかもしれません。

Vagrant は簡単に言うと仮想マシンの統合管理ツールです。

通常ホスト型の仮想マシンツールを使って、
CentOS7の仮想マシンをを制作する場合には、

仮想マシンツールで仮想マシンを立ち上げ、
CPUやメモリの割当などを設定、OSのディスクイメージをマウント、
OSをインストールしてやっと立ち上がる。

といったような手順が必要です。

しかしVagrantなら以下のような手順で立ち上げることができます。

$ mkdir -p ~/vagrant/CentOS7 && cd $_
$ vagrant init CentOS7
$ vagrant up

たったこれだけ。すごい簡単です。
何より Vagrantfile というファイルが作られ、
設定がそこに書き込まれているため、これを共有すればみんな同じ環境を立ち上げることができます。

また仮想マシンの shell に入るのも、

$ vagrant ssh

で入れちゃいます。とても有能です。

プライベートネットワーク内でIPを持たせる

仮想マシンを立ち上げて、そのサーバーにアクセスする際にはIPを持たせる必要があります。
これも、Vagrantfile 内で設定を有効化するだけです。

config.vm.network "private_network", ip: "192.168.33.10"

これで、設定したIPでアクセスすることができます。これだけです。

他にもポートフォワーディングやグローバルにも出すことができます。

ホストマシンのディレクトリと同期する

ホストマシンのディレクトリと同期しなければいけない状況が殆どでしょう。

クラウド型のIDEはこれが面倒くさいです。
いちいちファイルをアップロードすると、
1ファイルアップロードするのに10秒かかるとして、
非常に無駄なロスです。

話がずれましたが、任意のホストOSのディレクトリに、
ゲストOSのディレクトリがマウントできます。

config.vm.synced_folder "./data", "/var/www/html"

当然ホストOSからファイルを弄れるため、
自分の好きな環境でファイルを編集したりすることができます。

Vagrantfile の設定

公式サイトに使用できるVagrantfileの設定等が記載されています。
https://www.vagrantup.com/docs/

まとめ

こんなに便利なVagrant、使わない理由がないですよね。

OSをあわせてあげたり、サーバーのバージョンを合わせなければいけなかったり、
開発作業をする際には色々と環境構築が大変です。

少しでも環境構築の時間が短くできるよう、使ってみてください。
また、Chef 等も活用するとより便利になりますね。

それではまたお会いしましょう。

Share Button