vagrant使い方まとめ
1.box取得
vagrant box add [**Box名**][**BoxのURL**]
上記のコマンドでboxを追加することができる。
DLするBoxはVagrantbox.esに記載されているのでこの中から選択して追加してやる
※追加したboxを確認する場合
vagrant box list
で確認することができる。
2.仮想マシンの作成
Boxの取得が完了したら仮想サーバーを作成してやる。 ※Vagrantoはサーバー単位でディレクトリを用意してやる必要があるので注意
サーバー用のディレクトリを作成したら移動を行い
vagrant init [**Box名**]
とすると現在いるディレクトリに"Vagrantfile"ファイルが作成される。 これが今作ったサーバーの設定ファイルとなる。
仮想サーバーの作成が完了したら
vagrant up
でサーバーが立ち上がる。
コマンド一覧
コマンド | 内容 |
---|---|
up | 立ち上げ |
halt | 停止 |
status | 状態 |
sleep | スリープ |
suspend | スリープからの復帰 |
reload | 再起動 |
destroy | 削除 |
上記コマンドは
vagrant [コマンド]
の形で実行することができる。
※vagrantで仮想サーバーを立ち上げる場合"Vagrantfile"とヒモ付されてるサーバーとなる。複数作成していた場合立ち上げたい対象を間違えないように気をつけよう!!
3.仮想マシンに接続
vagrant ssh
とすると立ち上げた仮想サーバーにvagrantユーザーでssh接続をしてのログインが行える。
4.ローカルネットワークでのアクセス
vagrantを立ち上げて色々と行った後にローカルネットワークでvagrantoにアクセスしたい場合"Vagrantfile"を編集してやる必要がある。 変更したいマシンの"Vagrantfile"を開いたら27行目のコメントアウトを解除してやれば同じ行に記載されているIPでアクセスが可能となる。
5.共有フォルダ
vagrantoは構築した時既に仮想マシン内の特定のディレクトリと"vagrantfile"があるディレクトリが最初から共有状態になっている。 共有されているディレクトリはルート直下の"/vagrant/" このディレクトリを外部公開ディレクトリに対してシンボリックリンクを貼ってやればファイル更新が楽になりそう。
試しに
vagrant ssh cd /vagrant/ touch test.txt exit ls
とやればサーバーにログインして作ったファイルがホストOS側でも存在しているのが確認できる。(バージョン管理ソフト利用して落として来てもいいわけですが)
6.Provisioning
Provisioningとは"vagrant up"を行った後にシェルスクリプトなどを自動で実行してくれる。 同じサーバー設定を行いたい場合、この機能を利用してやることでより簡単に環境の構築を行える。
設定の方法はVagrantfileに "config.vm.provision :shell, :path => "provision.sh" とすることでpathで指定したシェルスクリプトの実行を行ってくれる。
vagranto upでProvisioningを実行してくれるのは初回立ち上げ時のようで2回目以降は実行してくれない様子
一度立ち上げた後にProvisioningを実行したい場合
vagrant provision
とすることで再度Provisioningの実行をしてくれる。
7.自分のBoxを作成する
必要なソフトをインストールした仮想マシンをパッケージングすることで、同じ状態のサーバーを再構築又はチーム内に共有を行うことができる。 作成した仮想マシンをパッケージングする場合
vagrant package
とすることでboxを作成することができる。 処理が終わったら現在のディレクトリにpackage.boxというファイルが出来る。 あとは工程1の時に行ったのと同じようにbox add [Box名][ファイル名**]とすることで自分で作成したBoxを新たに追加することができる。
Boxを追加した後の使い方は今までと同じ。(initで仮想マシンを作成、upで立ち上げ)