Vagrantとは
仮想環境の構築を自動化するためのツール。
きっかけ
いろいろ混乱するので個人的まとめ
環境
各種コマンド
概要 | コマンド | 説明・詳細・ネタ |
---|---|---|
現状確認 | vagrant status | VMの状態を確認できる。 running:起動中 poweroff:停止中 |
一時停止 | vagrant suspend | 死に戻りするための死のコマンド! |
一時停止からの復活 | vagrant resume | ドラクエで言うザオリクである |
シャットダウン | vagrant halt | 完全に死ぬ。お前はもう死んでいる。。 覚え方は Vagrantを止めるぞ、ハルトォォォォ! |
起動 | vagrant up | コイツ、動くぞ! 起動する場合は、カレントディレクトリに Vagrantfileが存在する必要がある。 |
今の状態をBOX化 | vagrant package | 今の仮想環境の状態を共有できるように出力する。 後述するBOXの追加したりできる。 環境をゴミクズのように切り捨てできるので、 インフラ周りを管理する人には必須コマンド BOX出力前に vagrant halt でvagrantを停止 |
ボックスの追加 | vagrant box add <boxの名前> <boxのパス> | パスにはURLも指定可能 |
ボックスの初期化 | vagrant init | Vagrantfileをカレントディレクトリに作る |
消去 | vagrant destroy | |
追加しているBOXの一覧出力 | vagrant box list | たまに何があるのか忘れるので必須 |
ホストとゲスト
- ホスト
お主が使っているOS。仮想環境ではないOSのこと。 - ゲスト
接続される側のOS。つまり、仮想環境のOSのこと。
SSH接続のユーザ
vagrantが自動で追加されている。
パスも同じ。
ちなみに、rootユーザも同じパスワード。
設定
GUI起動
以下の部分のコメントを外す
config.vm.provider :virtualbox do |vb| ・・・ vb.gui = true ・・・ end
endは、config.vm.provider :virtualbox do |vb|
の直近のやつ。
ポートフォワーディング
下記の設定をすることで、ゲストOSとホストOSのポートを紐付ける。
迂闊にやると、たまにポート競合を起こして混乱することがあるので、ちゃんと管理すること!
config.vm.network :forwarded_port, guest: <ゲストOSのポート>, host: <ホストOSのポート>
上記の設定をしたら、Vagrantの再起動が必要。
ポート競合は、大抵ゲストOS側の問題であることが多い。
Windowsを使っている場合は、下記の過去記事を参照。
参考URL
知識系
vagrant コマンド(起動・再起動・シャットダウン等々)備忘録 - Qiita
VagrantコマンドとVagrantfileの設定メモ - Qiita
開発環境の構築・共有を簡単にするVagrant入門 | Think IT(シンクイット)