フルフルの日記

backend engineer

Vagrantを使って仮想環境構築

 本記事では、UbuntuというLinuxディストリビューションを入れます。

 

 

なぜLinuxを使うのか

Linuxで環境を構築することによりWindowsでもMacでも皆同じ操作。

・プログラミングをするためのソフトウェアが豊富

・無料

 仮装環境用のディレクトリを作成

mkdir -p ~/vagrant/ubuntu

-pをつけるとvagrantというディレクトリがなくても作成できる。

 

ディレクトリへ移動

cd ~/vagrant/ubuntu/

 

Ubuntu(Linux)をダウンロードし、仮装環境へインストール

Boxの追加&初期化

Discover Vagrant Boxes - Vagrant Cloud

上記からインストールするOSを探し、OSのページを開く。

※ ProviderがVirtualBoxであるものを選択すること。

 

今回は、bento/ubuntu-16.04を選択する。

最新バージョンは18.04だが、Vagrant Cloudに無い為、一旦16.04を入れる。

(あとでバージョンアップする)

f:id:michiyu:20190404112025p:plain

Newタブを選択

以前までは「vagrant box add box名 box取得先URL」としてBoxを追加していたが、現在では次のコマンドだけで「Boxの追加&初期化」を同時におこなってくれるようになった。 

vagrant init ubuntu/xenial64 

 

 Linuxを起動
vagrant up

途中でWarning(警告)というのが流れていても「Machine booted and ready!」という文字列が出ていれば大丈夫。

 

Linuxへログイン
vagrant ssh

下記ログが表示される。

Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-130-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.

New release '18.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
    

New release '18.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it. 

とあるのでバージョンアップする。

18.04にバージョンアップ

do-release-upgrade

host名の変更

再度、vagrant sshでログインすると下記のようにhostがubuntu-xenialとなっており、古いコードネームのままとなっている為、変更する。

vagrant@ubuntu-xenial:~$

exitで抜け、viでVagrantfileを開き

config.vm.box = "ubuntu/xenial64"と書かれている下に

config.vm.hostname = "bionic18"

と追記する。

bionicはコードネーム
18はバージョン

再度ログインすると表示が以下のようになっている。

vagrant@bionic18:~$

 

作業フォルダの共有

作業フォルダを共有したい場合、viでVagrantfileを開き

vi Vagrantfile

 

下記設定を書き直す。 

config.vm.synced_folder "~/ubuntu", "/var/www/ubuntu", :nfs => true"