ドットインストールにてローカル開発環境・MySQLを見た後、その中で出てくるvagrantがよく分からなかったのでVagrant入門を見ました。
その際のドットインストールのVagrant入門の講義メモです。
見直し用にざっと流れを書いています。
###§1 Vagrantとはなにか?
必要な環境の説明
BirtualBox Vagrantをインストールする
###§2 Boxを取得してみよう
####手順
1.Box(テンプレート)を取得
2.仮想マシンを初期化
3.仮想マシンを起動
vagrant box add hashicorp/precise64 ボックスをダウンロード
###§3 vagrantbox.esを使ってみよう
vagrant box 必要なボックスを選択
vagrant box add ボックス追加
bagrant box list virtualboxに入っているvagrant boxを確認
vagrant box -h 使用可能なコマンドが分かる
vagrant box remove ボックスの削除
./.vagrant.d/boxes このディレクトリにboxが入っている
###§4 仮想マシンを立ち上げてみよう
1.Box(テンプレート)を取得
2.仮想マシンを初期化
3.仮想マシンを起動
仮想マシンごとにディレクトリを作る
vagrant init ボックス名 初期化する
vagrant up vagrantfileがあるフォルダで仮想マシンを立ち上げる
###§5 仮想マシンの停止・再起動・削除
####仮想マシンのコマンド
- status 状態を見る
- suspend -resume スリープ・復帰させる
- halt -up 終了・立ち上げる
- reload 再起動
- destroy 削除
###§6 仮想マシンに接続してみよう
vagrant ssh ssh接続で仮想マシンに接続
webページを作る
sudo yum -y install httpd webサーバーをインストール
sudo service httpd start webサーバーを立ち上げる
sudo chkconfig httpd on 再起動してもwebサーバーが立ち上がるように
sudo service iptables stop firewallを切る
sudo service iptables off 再起動してもwebサーバーがfirewallが立ち上がらないように
###§7 Webページを表示させてみよう
####webページを表示させる
cd /var/www/html 移動
sudo vi index.html index.htmlを作成
cat index.html index.htmlの中身をコマンドラインに表示
vi Vagrantfile プライベートネットワークを使えるようにコメントアウトをはずす
vagrant reload 設定を変更したので再起動
コメントアウトした行のIPをブラウザでたたくとindex.htmlが表示される
###§8 共有フォルダを使ってみよう
####共有フォルダを使う
Vagrantfileが存在するローカルのディレクトリと仮想マシンにある/vagrantは共有フォルダになっている
touch hoge ファイルを作成
sudo rm -rf /var/www/html
sudo ln -fs /vagrant /var/www/html シンボリックリンクを貼る
###§9 Provisioningを使ってみよう (1)
####もう一つ新しい仮想マシンを作る
§4のあと、provisioning をするために
vagrantfileに
config.vm.provision :shell, :inline => "echo hello world"
と記載。
vagrant up をすると hello worldとコマンドラインに表示される
###§10 Provisioningを使ってみよう (2)
先ほど記述した文をコメントアウトし、
config.vm.provision :shell, :path => "provision.sh"
と記述。外部ファイルとして読み込むため。
provision.shというファイルを作成し、
sudo yum -y install httpd
sudo service httpd start
sudo chkconfig httpd on
と入力する
vagrant provision provisionだけを再実行
###§11 自分でBoxを作ってみよう
####今の環境をboxにする
vagrant package 今の環境をboxにする
vagrant box add hoge package.box hogeに今作ったpackage.boxの中身をコピー
ls ~/.vagrant.d/boxes boxの一覧が参照できる
rm package.box package.boxを消去
####新しい仮想マシンを作る
cd ..
mkdir myBox
cd myBox
vagrant init my_box
vagrant up
####webサーバーが立ち上がっているかを確認
vagrant ssh
sudo service httpd status
###§12 pluginを使ってみよう
vagrant plugin install sahara saharaプラグインをインストール
vagrant plugin -h プラグインコマンド一覧を表示
vagrant plugin list プラグイン一覧を表示
vagrant plugin uninstall sahara プラグインをアンインストール
###§13 saharaを使ってみよう
####saharaは変更を取り消したり、決定することが出来るプラグイン
vagrant sandbox on sandboxの状態にする
vagrant sandbox status sandboxがonかoffか分かる
vagrant sandbox rollback onの状態に戻る 仮想マシンが動いていると時間がかかるので、vagrant suspendを先に行う。
vagrant sandbox commit 今の状態を決定する 仮想マシンが動いていると時間がかかるので、vagrant suspendを先に行う。
vagrant sandbox off sandboxの状態をやめる