LoginSignup
3
6

More than 5 years have passed since last update.

[メモ] Windowsで、Virtualbox+Vagrant(ヴェイグラント)環境

Last updated at Posted at 2016-12-19

Qiita-Vagrant01.png
Vagrant Manager
Vagrant ヴェイグラント

概要

  • Vagrantを使ったのをいくつかメモったが、Vagrant導入をメモってなかったな、、ってことで。
  • Vagrant Manager、なんてのを発見。

    • Vagrantfileつくったあと、Manage Bookmarksにて、[+]を押して、フォルダをVagrantfileのあるとこで、[Select Folder]する
    • vagrant upした後、Vアイコン右クリック、Refreshにて、VMを表示させた後、Add to Bookmarks/Remove from bookmarks。
  • Vagrant Cloud にて、おこのみのVM(box)をダウンロードできる。

  • gitを入れるのは、sshのため。(cygwinでもいいかも)

  • chocolateyは、コマンドラインから、いろいろツールをいれられる。(cmdひらいて、コピペでいける)

手順

ツール類インストール

  1. Chocolateyインストール(https://chocolatey.org/install)

    cmd.exeを管理者(Administrator)でひらいて、こぴぺ。
    @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
    exit
    
  2. (お好みで):便利そうなものをインストール

    cmd.exeを管理者(Administrator)でひらいて、こぴぺ。
    cinst -y chocolateygui rdpwrapper
    
  3. VirtualBox、Vagrant関連をインストール。

    cmd.exeを管理者(Administrator)でひらいて、こぴぺ。
    cinst -y vagrant vagrant-manager virtualbox git
    # VirtualBox.ExtensionPack は、指定しなくてもよくなった?? 5.1.12??
    
  4. 再起動

    • Win+Rで、Runウィンドウが開いたら、shutdown -r -t 0 [Enter]
  5. (お好みで):環境変数追加 VAGRANT_HOMEVBOX_USER_HOME

    1. Win+Rで、Runウィンドウで、constrol system[Enter]
      Win10なら、Win+X, y
    2. 詳細設定 => 環境変数で、システムのほうに追加
    3. VAGRANT_HOMEC:\Vagrant\.vagrant.d
    4. VBOX_USER_HOMEC:\Vagrant\.VirtualBox
  6. (お好みで):VMをおくフォルダの設定。 cmdプロンプトを開いて

    cmd.exeにて
    "%VBOX_MSI_INSTALL_PATH%\VBoxManage.exe" setproperty machinefolder C:\Vagrant\VMs
    rem "%VBOX_MSI_INSTALL_PATH%\VBoxManage.exe" setproperty machinefolder "C:\Vagrant\VirtualBox VMs"
    
  7. Vagrant Manager更新(1.0.0.6 - 2016年12月19日時点)

    • [スタート]メニューから、Vagrant Managerを起動して、タスクバーのとこにでたVマークを右クリ、Check For Update、zipをダウンロードして、解凍後、exe実行。(Vマーク右クリ、Exitが必要)

Vagrantのキホソ

  1. コマンドウインドウひらく(Shift+右クリ + W)
  2. 作業フォルダ作成、移動(mkdir C:\Vagrant\test01; cd C:\Vagrant\test01)
  3. Vagrantfile配置
    • 公式のもの/だれかつくったものを使用: Vagrant Cloudから見つけてくる
      例) vagrant init ubuntu/xenial64 -m
      #-mをつけると、必要なラインだけ書き出される.
    • 自前で書く
  4. 起動
    vagrant up
    • boxイメージがないと、ダウンロードから
    • VMができてないと、VM作成、イメージのコピーから
  5. 接続
    • vagrant ssh # SSHにてログイン
    • vagrant rdp # Remote Desktopにて。VMがWindowsに。
  6. 再起動・シャットダウン・VM削除
    • vagrant reload # 再起動
    • vagrant halt # シャットダウン
    • vagrant destroy # VM削除. -fをつけると、確認無しに削除

仮想マシン(Virtual Machine, VM)起動させてみる

  • デスクトップのあいてるとこで、Shift+右クリック => コマンドウィンドウをココで開く(W)

Ubuntu 16.04 (ubuntu/xenial64)

mkdir C:\Vagrant\ubuntu-xenial64\
cd C:\Vagrant\ubuntu-xenial64\
vagrant init ubuntu/xenial64 -m
vagrant up # 起動. 待つ
vagrant ssh # sshでログイン

CentOS 7 :共有フォルダの設定と、GuestAddonをいれるといい。

  1. いつもどおり...ではうまくいかず。

    mkdir -p C:\Vagrant\centos7
    cd C:\Vagrant\centos7
    vagrant init centos/7 -m
    vagrant up
    
  2. エラーで起動しない??

    rsyncないよ、で起動できない.
    C:\Vagrant\centos7>vagrant up
    Bringing machine 'default' up with 'virtualbox' provider...
    ==> default: Importing base box 'centos/7'...
    ==> default: Matching MAC address for NAT networking...
    ==> default: Checking if box 'centos/7' is up to date...
    ==> default: Setting the name of the VM: centos7_default_1482179258565_88605
    "rsync" could not be found on your PATH. Make sure that rsync
    is properly installed on your system and available on the PATH.
    
    C:\Vagrant\centos7>
    
  3. Vagrantfileを編集。一行追加

    Vagrantfile(rsyncを使わないで、Virtualboxの共有フォルダ使用)
    Vagrant.configure("2") do |config|
      config.vm.box = "centos/7"
      config.vm.synced_folder ".", "/vagrant", type: "virtualbox" #追加.
    end
    
  4. 再挑戦

    vagrant up
    vagrant ssh
    
    なんかいわれるけど、起動する。が、/vagrantがシェアできていない
    ==> default: Mounting shared folders...
        default: /vagrant => C:/Vagrant/centos7
    Vagrant was unable to mount VirtualBox shared folders. This is usually
    because the filesystem "vboxsf" is not available. This filesystem is
    made available via the VirtualBox Guest Additions and kernel module.
    Please verify that these guest additions are properly installed in the
    guest. This is not a bug in Vagrant and is usually caused by a faulty
    Vagrant box. For context, the command attempted was:
    
    mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant
    
    The error output from the command was:
    
    mount: unknown filesystem type 'vboxsf'
    
    C:\Vagrant\centos7>vagrant ssh
    [vagrant@localhost ~]$ exit
    logout
    Connection to 127.0.0.1 closed.
    
    C:\Vagrant\centos7>
    

    => VirtualBox Guest Additionsとカーネルモジュールが入ってない。

  5. 再々挑戦

    # GuestAdditionを自動で入れるプラグイン.
    vagrant plugin install vagrant-vbguest
    vagrant reload # 再起動
    

その他

  1. boxのアップデート
    ↓みたいのがでたら、新しいイメージがあるよ、ってことで、
    vagrant box updateとタイプするとよい。

    ==> default: A newer version of the box 'ubuntu/xenial64' is available! You currently
    ==> default: have version '20161109.1.0'. The latest is version '20161214.0.1'. Run
    ==> default: `vagrant box update` to update.
    
  2. 古いbox削除は、vagrant box BOX名 --box-version VERSION番号で特定する。

    実行例
    C:\Vagrant>vagrant box list
    centos/7                                     (virtualbox, 1611.01)
    ubuntu/trusty64                              (virtualbox, 20161214.0.0)
    ubuntu/xenial64                              (virtualbox, 20161214.0.1)
    ubuntu/xenial64                              (virtualbox, 20161221.0.0)
    
    C:\Vagrant>vagrant box remove ubuntu/xenial64 --box-version 201612
    14.0.1
    Removing box 'ubuntu/xenial64' (v20161214.0.1) with provider 'virtualbox'...
    
    C:\Vagrant>
    
  3. なんかあやしい... よけいなとこにPATHを張らない...

    PATH=C:\Windows\system32;C:\Windows;C:\ProgramData\chocolatey\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\usr/bin;C:\HashiCorp\Vagrant\bin;C:\Program Files\Oracle\VirtualBox
    
  4. Chocolateyでインストールしたものの更新

    • cmdを管理者で開いて
    • cup all -y
  5. 外部からアクセスしたい.

    • Vagrantfileに、config.vm.network "public_network", bridge: 'ネットワークアダプタ名'ってのを追加する
    • ネットワークアダプタ名は、ホストPCによってまちまちなので、一度、VirtualboxでVMをつくってから、VMのSettings=>Networkで、適当なAdapterをAttached to: Bridgeにしてみると、Name:に候補が出てくる。
      一度保存して、.vboxファイルを覗くとかいてある。
3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6