脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

Windows7でVagrant2.0を使ってVirtualBoxにUbuntu16.04の仮想環境をつくってteratermでアクセスする

環境

手順

1. VirtualBoxのダウンロード

Virtual Boxのインストール
http://www.virtualbox.org/
f:id:portaltan:20180302142838p:plain

Imageの配置場所の変更
f:id:portaltan:20180302155543p:plain

  • 自分はD:\VirtualBoxServersという名前のディレクトリにしました
2. Vagrantのダウンロードします

Vagrantのインストール
http://downloads.vagrantup.com/
f:id:portaltan:20180302142909p:plain

  • ちなみに私はCドライブ直下に作るのが嫌なのでC:\Program Files (x86)\HashiCorp\Vagrantにインストールしました

vagrantの確認

> vagrant -v
Vagrant 2.0.2

> vagrant -h
.
.
.

box(osのイメージ)の配置場所の指定

> SETX VAGRANT_HOME D:\Vagrant\.vagrant.d
> echo "%VAGRANT_HOME%"
  • デフォルトの配置場所は『(ユーザフォルダ)/.vagrant.d』
  • Dドライブに変更する理由は、今後色々な環境を作成していくので容量が大きいドライブでboxを管理しておきたいからです
  • 実際の保管場所は.vagrant.d以下のboxesディレクトリになります
3. PC再起動
4. 仮想環境を構築準備

ディレクトリの作成
今から構築するubuntu16.04用のディレクトリを作成します

### 仮想環境用のディレクトリを作成
> cd /d d:/Vagrant
> mkdir "servers/ubuntu1604_1"
> cd servers/ubuntu1604_1

boxを検索
VagrantCloudから欲しいパッケージを検索します

> vagrant init ubuntu/xenial64

Vagrantfileの編集

> notepad Vagrantfile
################################
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.ssh.insert_key = false
  config.vm.provider "virtualbox" do |vb|
    vb.name = "ubuntu1604_1"
  end
end
################################
5. 仮想環境を構築準備

Vagrant起動(boxダウンロード&サーバー作成)

> vagrant up #環境とかPCスペックによっては時間がかかります
6. 確認

Host OSから確認(via コマンドプロンプト)

### boxがちゃんとdownloadされているか確認
> vagrant box list
ubuntu/xenial64 (virtualbox, 20180228.1.0)

### ステータス確認
> vagrant status
Current machine states:

default runnning (virtualbox)
........

VMの管理画面でも以下のように仮想環境が作成されているのを確認できます
f:id:portaltan:20180302190604p:plain

Guest OSから確認(via teraterm)
teratermからVagrantfileで指定したprivate ipへsshでアクセスします
f:id:portaltan:20180302190650p:plain

ユーザ名はvagrant
秘密鍵は先ほど上書きせずにinsecure_keyを利用する設定をしたので、私と同じ環境で作った方は「D:\Vagrant\.vagrant.d\insecure_private_key」にあります
f:id:portaltan:20180302190818p:plain

あとはログインできることを確認します
f:id:portaltan:20180302191024p:plain

マウントされているかの確認
GuestOS

vagrant@ubuntu-xenial:/$ ls -la /vagrant/
total 72
drwxrwxrwx  1 vagrant vagrant     0 Mar  2 09:53 .
drwxr-xr-x 24 root    root     4096 Mar  2 09:59 ..
-rwxrwxrwx  1 vagrant vagrant 44317 Mar  2 09:57 ubuntu-xenial-16.04-cloudimg-console.log
drwxrwxrwx  1 vagrant vagrant     0 Mar  2 09:52 .vagrant
-rwxrwxrwx  1 vagrant vagrant   296 Mar  2 09:57 Vagrantfile

HostOS
f:id:portaltan:20180302191255p:plain
f:id:portaltan:20180302191355p:plain

以上で構築完了です