Why it doesn't work?

作業のメモ、記録をブログに残しています。

Vagrantによる環境構築(2) Windows上でVagrantとVirtualBoxを利用してUbuntu開発環境を構築する

いろいろ紆余曲折がありましたが、。
Vagrantによる環境構築(番外変) vagrant up でエラーが発生する。 - Why it doesn't work?
Vagrantによる環境構築(番外編) vagrant up でTimed outが発生する。 - Why it doesn't work?
やっと
Vagrantによる環境構築(1) Vagrantのインストール - Why it doesn't work?
の続きです。

事前準備

インストール手順はこちらを参照して下さい。
Virtualboxのセットアップ (1) インストーラーのダウンロードとインストール - Why it doesn't work?
Virtualboxのセットアップ (2) VirtualBox Extensionのダウンロードとインストール - Why it doesn't work?

  • 作業フォルダの作成

私の場合には、今後仮想OSを増やす可能性を考慮して、"D:\MyWork\MyVagrant\MyUbuntu"というフォルダを事前に作成してあります。任意のフォルダを作成して作業を進めて下さい。

Vagrantfileの作成

まずは、Vagrantfileを作成します。VagrantfileVagrantおよびVirtualBoxの設定を記載したファイルです。
Windows Powershellを立ち上げて作業フォルダに移動し、以下のコマンドを入力します。引数で使用するBoxを指定することができるのですが、手順を明確に理解するために、今回は引数なしで実行します。

vagrant init

しばらくすると、以下のようなレスポンスが通知され、作業フォルダに"Vagrantfile"が生成されていればOKです。

A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

Vagrantfileの編集

Boxの指定

Boxは仮想マシンで使うOSのイメージファイルのことです。Discover Vagrant Boxes - Vagrant Cloudで検索することができます。
今回は、Ubuntuをインストールしたいので、bento/ubuntu-16.04を指定します。
まずは、もう一度Vagrantfileを編集します。15行目周辺の

config.vm.box = "base"

config.vm.box = "bento/ubuntu-16.04"

に変更します。

Private NetworkのIPアドレス設定

ホストOSのブラウザで動作確認を行ったり、FTPツールでデータ転送を行うためにPrivate NetworkのIPアドレスを設定します。
作業フォルダの"Vagrantfile"を開いて35行目あたりを表示させて下さい。

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

#を削除して、この行を有効化します。

仮想マシンGUI

"Vagrantfile"の52行目を以下のように変更して、GUIを有効化、およびメモリ(デフォルトは1024)を指定します。この編集は必須ではないので、任意で設定して下さい。こちらの記事も参照願います。

config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true
#
# Customize the amount of memory on the VM:
vb.memory = "2048"
end

編集が終了したら、保存します。

BOXのインストール

次に、Powershellで以下のコマンドを入力します。

vagrant box add bento/ubuntu-16.04

しばらくすると、何で使用するか聞かれるので、当然、"3"で。

1) hyperv
2) parallels
3) virtualbox
4) vmware_desktop

設定とダウンロードが開始されます。完了まで数分かかります。Progressが100%になるまで気長に待ちましょう。

box: Progress: 100% (Rate: 1424k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'bento/ubuntu-16.04' (v201803.24.0) for 'virtual box'!

Progressが100%になったら、Boxのインストールは完了です。listコマンドでインストールしたBoxの一覧表示が可能です。

vagrant box list

bento/ubuntu-16.04 (virtualbox, 201803.24.0)

仮想マシンの起動

PowerShellで、以下のコマンドを入力します。

vagrant up

セットアップが開始されます。
エラーが発生した場合には、こちらを参照してみて下さい。
Vagrantによる環境構築(番外変) vagrant up でエラーが発生する。 - Why it doesn't work?
Vagrantによる環境構築(番外編) vagrant up でTimed outが発生する。 - Why it doesn't work?

数分後、セットアップが完了し、Ubuntuが起動します。

仮想マシンへのログイン

GUI

GUIが起動したら、id=vagrant pass=vagrant でログイン出来ます。
f:id:zakiyamatakashi:20180420172107p:plain

PowerShell

PowerShell上で、

vagrant ssh

と、入力することで、Ubuntuにログインすることもできます。仮想マシンを停止させるコマンドは、"vagrant halt"です。

ターミナルツール

TeraTermPuTTYといったターミナルツールでログインするには、以下の設定でログインします。