SlideShare une entreprise Scribd logo
1  sur  20
仮想クライアント

ひみつシリーズ
概要
目的!!
•
•
•
•

開発環境をローカルに作成したい!
プロジェクト毎の独立した環境!
構築の手間を省力化!
本番と差異無い環境!
Vagrantとは?
• Virtual Boxのフロントエンド
• VirtualBoxは仮想マシン
• 正確には「Virtual Box」+「Vagrant」の複
合
http://www.vagrantup.com/
VirtualBoxとは?
•
•
•
•
•

Oracle製の仮想化ソフト
競合はVM Ware、Parallels等
個人・評価目的・教育利用なら無料
並列同時起動可能
マルチプラットフォーム・マシンイメー
ジ共通(Mac、Windows、Linux…)

https://www.virtualbox.org/
Vagrantとは?(2回め)
• ローカルマシンにOSごと環境を作れる!
• ノートPC、デスクトップ等環境を選ばな
い!
• ホストマシン内にクローズ環境を作れる
ので、ネットワークリソースが枯渇しな
い!
重要
• ロールバックが超簡単!
つまり?
• 個人端末内に簡単に開発環境!
• トライアンドエラーが捗ります!
• 開発・テスト・本番の3ステージ!

コーディング全力投球!!
早期帰宅も夢じゃない!!
自宅でコーディング…つД`)・゚・
実践
アプリインストール
• VirtualBoxをインストール
• Vagrantをインストール

プラットフォーム毎に違うけど、インス
トーラーもあるのでさっさと進もう
初期セットアップ
起動イメージの元になる『原書』を保存
• 『セットアップイメージを置きたいディレクトリ』に移動する(任
意)
• イメージファイルをローカルマシンにダウンロードする
# vagrant box add [BOX名※1] [イメージファイルのある場所※2]
※1…適当に命名しておk
※2…『httpダウンロード』とか『ローカルファイルを直指定』とか結構自由

• 作業ディレクトリに『.vagrant.d』というディレクトリができてる
• 『.vagrant.d/boxes』以下にさっき指定したイメージファイルが置い
てある
• 今後は『BOX名』しか使わないので、こまかいことはきにしない
起動準備
作業ディレクトリ準備
『起動イメージ』が『原書』からコピーされる(容
量注意)

•

適当に作業ディレクトリを作って、移動

•

設定ファイルを作る
# vagrant init

•

カレントディレクトリに『Vagrantfile』が作られたのを確認

# ls –al | grep Vagrantfile
•

テキストの中身を確認して、一部書き換え ※ここで『BOX名』を使う
config.vm.box = “[BOX名]”
config.vm.network :private_network, ip: "192.168.33.10"
※よくわかんなかったら作業ディレクトリに有るVagrantfileをこれに上書き
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = “[※BOX名※]"
config.vm.network :private_network, ip: "192.168.33.11"
end
マシン起動とか
※作業ディレクトリに移動してから作業して下さい
(カレントディレクトリにあるVagrantfileを参照する為)
起動 (電源ON)
# vagrant up
停止 (電源OFF)
# vagrant halt
サスペンド (休止)
# vagrant suspend
環境破壊 (初期化)
# vagrant destroy
仮想マシンに接続
『SSH』と『サービス』でアクセス方法が異なりま
す!
SSH接続(Portが2222に変更されてます)
# SSH localhost 2222
# =>user:root => password:vagrant
サービス接続 (ブラウザとかも192.168.33.10でアクセスできます!)
# telnet 192.168.33.10 [サービスポート]

※起動マシン以外からのアクセスは不可なので、テスト環境を利用して下さい(他のメンバーとか)
※なんで192.168.33.10で繋がるか不思議な人は、『route PRINT』とか打ってみよう
※実は『ssh 192.168.33.10』でも繋がる
補足
PC @1

PC @2
ファイル共有、ping等

SSH・HTTP…

接続不可

仮想マシン間の
接続は可能

Vagrant #1

Vagrant #2

Vagrantは仮想ネットワークの
為、外部PCからの接続は不可
ディスクイメージ受け渡し
プロジェクトとかで、他人にイメージを渡したい
とき

渡す人
–

作業ディレクトリのあるところ(vagrantfileのある所)に移動

–

イメージをつくる

# vagrant package
–

カレントディレクトリに『package.box』が作られたのを確認(出力ファイル名は固定※)

# ls –al | grep package.box
–

受け取る人に対してファイルコピー

受け取る人
–

初期セットアップのイメージが『package.box』になるだけです。(リネーム可)

# vagrant box add [BOX名※1] package.box
※1 2回以上イメージを作成する時は、以前の出力ファイルをリネームして下さい
One More…
• VagrantはPlug-inが有ります
• 『Vagrant sahara』を使うと、環境を一時保存出来ます
• 仮想HDDに書き込んだ内容もあっさりロールバック
• DBへの書き込みやデプロイ等も元通り!
• トライアンドエラーが捗ります!

※ここは鳥取砂丘
Sandbox使い方
セットアップ(1回やれば終了)
# vagrant plugin install sahara
まず起動
# vagrant up
サンドボックスモード(この時点でコミットされる)
# vagrant sandbox on
変更コミット

# vagrant sandbox commit
ロールバック
# vagrant sandbox rollback

サンドボックス終了(最後にコミットした時点に戻る)
# vagrant sandbox off
※sandbox offしないでvagrant haltすると、コミット時点に戻ってからhaltする
まとめ
• 『一度作ったら大事に使う』時代は終焉
• 環境なんて使い捨て!
• 『ゼロから最新環境を作れる』状態をキープするのが重
• 要
『私の環境では動く』はNGワード!
• 『インフラ構築』⇒『動作環境構築』⇒『デプロイ』⇒
『環境廃棄』のサイクルをいかに省力化するかがポイン
ト
さいごにひとこと!

個人端末にもっと
メモリ足して!
以上

Contenu connexe

Tendances

Unity Cloud BuildとUnity Analytics
Unity Cloud BuildとUnity AnalyticsUnity Cloud BuildとUnity Analytics
Unity Cloud BuildとUnity Analytics孝康 矢嶋
 
2016年注目の.netテクノロジー
2016年注目の.netテクノロジー2016年注目の.netテクノロジー
2016年注目の.netテクノロジーMakoto Nishimura
 
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osレガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osuchan_nos
 
Transnet.+ lunch mt #1
Transnet.+ lunch mt #1Transnet.+ lunch mt #1
Transnet.+ lunch mt #1Ryota Tomomura
 
意識低くMeteor紹介
意識低くMeteor紹介意識低くMeteor紹介
意識低くMeteor紹介hashedrock
 

Tendances (8)

Unity Cloud BuildとUnity Analytics
Unity Cloud BuildとUnity AnalyticsUnity Cloud BuildとUnity Analytics
Unity Cloud BuildとUnity Analytics
 
Xamarin.iOS
Xamarin.iOSXamarin.iOS
Xamarin.iOS
 
Dockerぐらし!
Dockerぐらし!Dockerぐらし!
Dockerぐらし!
 
2016年注目の.netテクノロジー
2016年注目の.netテクノロジー2016年注目の.netテクノロジー
2016年注目の.netテクノロジー
 
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osレガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free os
 
Packerで自動化
Packerで自動化Packerで自動化
Packerで自動化
 
Transnet.+ lunch mt #1
Transnet.+ lunch mt #1Transnet.+ lunch mt #1
Transnet.+ lunch mt #1
 
意識低くMeteor紹介
意識低くMeteor紹介意識低くMeteor紹介
意識低くMeteor紹介
 

Similaire à Vagrantのひみつ

Vagrant入門以前
Vagrant入門以前Vagrant入門以前
Vagrant入門以前katanyan
 
仮想マシンとVagrant + Vagrant 1.5
仮想マシンとVagrant + Vagrant 1.5仮想マシンとVagrant + Vagrant 1.5
仮想マシンとVagrant + Vagrant 1.5Daisuke Kikuchi
 
コンテナで作る開発環境 (20161104 CodeIgniter Night)
コンテナで作る開発環境 (20161104 CodeIgniter Night)コンテナで作る開発環境 (20161104 CodeIgniter Night)
コンテナで作る開発環境 (20161104 CodeIgniter Night)智之 大野
 
ローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrantローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + VagrantKazuma Kimura
 
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンMasashi Shinbara
 
勉強会0614 vagrant
勉強会0614 vagrant勉強会0614 vagrant
勉強会0614 vagrantYu Ito
 
年納めにDockerやろうず
年納めにDockerやろうず年納めにDockerやろうず
年納めにDockerやろうずKeita Neriai
 
コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響Masahito Zembutsu
 
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようDockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようTakashi Makino
 
20141004 青森ハンズオン Azure概要
20141004 青森ハンズオン Azure概要20141004 青森ハンズオン Azure概要
20141004 青森ハンズオン Azure概要Sunao Tomita
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft AzureYoshio Terada
 
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~Masaomi Kudo
 
20120822_dstn技術交流会_仮想化について
20120822_dstn技術交流会_仮想化について20120822_dstn技術交流会_仮想化について
20120822_dstn技術交流会_仮想化についてdstn
 
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]Masashi Shinbara
 

Similaire à Vagrantのひみつ (20)

Vagrant入門以前
Vagrant入門以前Vagrant入門以前
Vagrant入門以前
 
仮想マシンとVagrant + Vagrant 1.5
仮想マシンとVagrant + Vagrant 1.5仮想マシンとVagrant + Vagrant 1.5
仮想マシンとVagrant + Vagrant 1.5
 
コンテナで作る開発環境 (20161104 CodeIgniter Night)
コンテナで作る開発環境 (20161104 CodeIgniter Night)コンテナで作る開発環境 (20161104 CodeIgniter Night)
コンテナで作る開発環境 (20161104 CodeIgniter Night)
 
ローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrantローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrant
 
Vagrant chef
Vagrant chefVagrant chef
Vagrant chef
 
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
 
勉強会0614 vagrant
勉強会0614 vagrant勉強会0614 vagrant
勉強会0614 vagrant
 
年納めにDockerやろうず
年納めにDockerやろうず年納めにDockerやろうず
年納めにDockerやろうず
 
コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響
 
仮想環境によるLinux
仮想環境によるLinux仮想環境によるLinux
仮想環境によるLinux
 
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようDockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しよう
 
Vagrant体験入門
Vagrant体験入門Vagrant体験入門
Vagrant体験入門
 
Vagrantのすすめ
VagrantのすすめVagrantのすすめ
Vagrantのすすめ
 
20141004 青森ハンズオン Azure概要
20141004 青森ハンズオン Azure概要20141004 青森ハンズオン Azure概要
20141004 青森ハンズオン Azure概要
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft Azure
 
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
 
20120822_dstn技術交流会_仮想化について
20120822_dstn技術交流会_仮想化について20120822_dstn技術交流会_仮想化について
20120822_dstn技術交流会_仮想化について
 
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
 
20060419
2006041920060419
20060419
 
Docker入門
Docker入門Docker入門
Docker入門
 

Dernier

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Dernier (9)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

Vagrantのひみつ