vagrant勉強会アップロード用
DESCRIPTION
vagrant勉強会の資料。 外部向けに行った勉強会で使ったスライド。TRANSCRIPT
![Page 1: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/1.jpg)
株式会社イプロス 竹内孝志
Vagrant 導入編
![Page 2: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/2.jpg)
自己紹介
▌ 竹内 孝志(たけうち たかし)▌ 1985 年 12 月 18 日▌ 大学卒業後 SIer で3年勤務した後に転職▌ 現在はイプロスに WEB エンジニアとして勤
務▌ 主な業務はイプロスサイトの改善と機能拡張▌ アジャイル開発を極めるため修行中▌ 趣味はオンラインゲーム▌ ただのひきこもり
![Page 3: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/3.jpg)
導入編の目的
▌ Vagrant とは何か知ること▌環境を導入できるようになること▌基本的機能を使えるようになること
Vagrant を知らない人、使ったことない人が・・・
![Page 4: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/4.jpg)
導入編の流れ
1.Vagrant の概要2.Vagrant の導入方法3.Vagrant の使い方4. デモ ( 基本的な使い方 )
![Page 5: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/5.jpg)
導入編の流れ
1.Vagrant の概要2.Vagrant の導入方法3.Vagrant の使い方4. デモ ( 基本的な使い方 )
![Page 6: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/6.jpg)
Vagrant とは
仮想マシンの環境構築作業を自動化するためのツール。Ruby で組まれたスクリプト。仮想マシンを CUI から操作することができる。box があれば同一環境を作ることができる。
![Page 7: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/7.jpg)
box とは
box は Vagrant で使用する仮想マシンのイメージです。仮想マシンを作成するためのひな形、テンプレートのようなもの。box は CentOS, Debian, Ubuntu, Windows Server など様々な OS が利用できます。
![Page 8: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/8.jpg)
ターミナル
イメージ図
Vagrant
仮想化環境
仮想マシンVirtual Machine
仮想マシンVirtual Machine
仮想マシンVirtual Machine
作成
起動・停止
破棄
![Page 9: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/9.jpg)
対応する仮想化環境
VirtualBox
VmwareFusion
AWS
RackspaceCloud
![Page 10: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/10.jpg)
box (一部抜粋)http://www.vagrantbox.es/ にて、 120 以上の box が公式に配布されている
イメージ 対応 サイズ
Aegir-up Aegir VirtualBox 297MB
CentOS 6.4 i386 Minimal VirtualBox 416MB
Debian squeeze 32 VirtualBox 397MB
Fedora 17 i386 VirtualBox 804.25MB
Gentoo VirtualBox 717MB
Ubuntu precise 64 VMWare VMware 321MB
![Page 11: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/11.jpg)
メリット
▌個人のローカルに依存しない環境が構築できる
▌すぐに使える仮想環境を構築することができる
▌環境が壊れてもすぐ復旧できる
![Page 12: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/12.jpg)
個人のローカルに依存しない
Download
Download
Download
それぞれが独自に環境を構築 みんな同じ環境を構築
![Page 13: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/13.jpg)
すぐに仮想環境が構築可能
ソフトウェアを1つずつインストール
構築済みの box を適用させるだけ
![Page 14: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/14.jpg)
環境が壊れても復旧できる
コマンド1つで壊れる前の状態に復旧可能
![Page 15: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/15.jpg)
イプロスでの用途例
CentOS 上に構築した開発環境
Windows マシン MacOS マシン
開発環境 開発環境 開発環境 開発環境
![Page 16: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/16.jpg)
導入編の流れ
1.Vagrant の概要2.Vagrant の導入方法3.Vagrant の使い方4. デモ ( 基本的な使い方 )
![Page 17: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/17.jpg)
ローカルマシン
Vagrant 導入方法
VirtualBox
CentOSvagrant
![Page 18: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/18.jpg)
手順
①VirtualBox インストール②Vagrant インストール③CentOS の box 導入④ 起動確認⑤ 接続確認
![Page 19: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/19.jpg)
VirtualBox インストール
https://www.virtualbox.org/
![Page 20: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/20.jpg)
Vagrant インストール
http://www.vagrantup.com/
![Page 21: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/21.jpg)
CentOS の box 導入
$ vagrant box add centos64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box
$ vagrant init centos64
※ この時点でコマンドを実行したパスに Vagrantfile が生成される
![Page 22: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/22.jpg)
起動確認
$ vagrant up
![Page 23: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/23.jpg)
接続確認( Mac の場合)
$ vagrant ssh
![Page 24: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/24.jpg)
接続確認( Windows の場合)
Teraterm
VirtualBox
CentOSデフォルト127.0.0.1
Teraterm などで接続を行う。
User:vagrantPassword:vagrant
![Page 25: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/25.jpg)
よくあるトラブル
$ vagrant upBringing machine 'default' up with 'virtualbox' provider...[default] Importing base box 'centos64_64'...[default] Matching MAC address for NAT networking...[default] Setting the name of the VM...[default] Clearing any previously set forwarded ports...[default] Creating shared folders metadata...[default] Clearing any previously set network interfaces...[default] Preparing network interfaces based on configuration...[default] Forwarding ports...[default] -- 22 => 2222 (adapter 1)[default] Booting VM...[default] Waiting for VM to boot. This can take a few minutes.
ここで止まる
Windows で vagrant を起動したときに途中で止まる。
![Page 26: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/26.jpg)
解決策BIOS 設定で CPU の仮想化機能を ON にする ( デフォルトは OFF) 。
![Page 27: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/27.jpg)
導入編の流れ
1.Vagrant の概要2.Vagrant の導入方法3.Vagrant の使い方4. デモ ( 基本的な使い方 )
![Page 28: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/28.jpg)
使い方
▌基本的な設定►IP の設定►共有ディレクトリの設定►メモリの設定
▌基本的な使い方►起動・停止・削除►イメージの作成►プラグインのインストール
![Page 29: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/29.jpg)
ディレクトリ構成
Vagrant init 実行ディレクトリ
.vagrant
Vagrantfile
仮想マシンの紐付けなど
VM の設定ファイル
![Page 30: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/30.jpg)
設定変更方法
Vagrantfile を変更する
![Page 31: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/31.jpg)
IP の設定
# Create a private network, which allows host-only access to the machine# using a specific IP.# config.vm.network :private_network, ip: "192.168.33.10”
Config.vm.network 行のコメントアウトを外す
VM の IP アドレスとして設定したい値にする
Vagrantfile
![Page 32: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/32.jpg)
共有ディレクトリの設定
# Share an additional folder to the guest VM. The first argument is # the path on the host to the actual folder. The second argument is # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. # config.vm.synced_folder "../data", "/vagrant_data"
ホストマシン側のパス バーチャルマシン側のパス
Vagrantfile
![Page 33: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/33.jpg)
メモリの設定
config.vm.network :public_network, :public_network => "wlan0”vb.customize ["modifyvm", :id, "--memory", "2048", "--cpus", "2"]
割り当てるメモリ 割り当てる CPU
Vagrantfile
![Page 34: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/34.jpg)
起動・停止・削除
$ vagrant up
$ vagrant halt
$ vagrant destroy
◆ 起動
◆ 停止
◆ 削除
![Page 35: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/35.jpg)
box 作成
◆box の作成
$ vagrant package
Vagrantfile がある場所に package.box が作られる
※ 詳しくはこの後の実践編で解説
![Page 36: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/36.jpg)
プラグインインストール
$ vagrant plugin install XXXXXX
◆ プラグインのインストール
※ 詳しくはこの後の実践編で解説
![Page 37: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/37.jpg)
導入編の流れ
1.Vagrant の概要2.Vagrant の導入方法3.Vagrant の使い方4. デモ ( 基本的な使い方 )
![Page 38: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/38.jpg)
デモ
① 作成② 起動③ 設定変更④ 再起動⑤ 停止⑥ 破棄
ターミナルと Virtualbox の管理画面を見比べる
※Vagrant 、 Virtualbox インストール済み※CentOS の box ダウンロード済み
![Page 39: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/39.jpg)
本日のまとめ
▌ Vagrant とは仮想環境を操作するスクリプト
▌導入方法は本資料参考▌使い方は本資料参考
![Page 40: Vagrant勉強会アップロード用](https://reader033.vdocuments.pub/reader033/viewer/2022060118/5589ea92d8b42abd378b476e/html5/thumbnails/40.jpg)
ご清聴ありがとうございました