はじめに
Vagrantを使ってみたメモです。
色々試したいときに自分のPCの環境を汚したくないので、仮想マシンを立てました。
公式のBoxからVagrantfileを作成する
ダウンロードして来て使ったりするのもあるけど基本公式の物を使えばいいらしい
以下のコマンドを実行するとvagrantfileが作成されます。
このファイルにいろいろな設定を書いていきます。
以下の vagrant ~ というコマンドもvagrantファイルが存在するディレクトリで実行する必要があります。
vagrant init bento/ubuntu-18.04
Vagrantを起動する
このコマンドを実行した際に、Boxがみつからない場合は、Boxをダウンドロードしてくれる
vagrant up
SSHで仮想環境に接続する
vagrant ssh
仮想マシンにログインしたら、パッケージをアップデートする
sudo apt-get update
Vagrantを停止させる
vagrant halt
Provisioning
Vagrant up した後に自動的に実行される一連の処理
ここでrubyなどをインストールする処理を記述することで簡単に環境を構築することができる。
Provisioningを行うには以下の二つの方法がある
命令を一行で書きたい場合
:inline を使う
Config.vm.provision :shell :inline => “echo hello world”
仮想マシンが立ち上がった後に”echo hello world”が実行された
これは"hello world"を出力しているだけなので実用的ではないが、Provisioningについて理解するには役に立つ
別ファイルにコマンドを書いてそれを読み込んで実行する
以下の記述をvagrantfileに追加する
config.vm.provision :shell :path => “provision.sh”
provision.sh
sudo yum -y install http
sudo service http start
sudo chkconfig httpd on
仮想マシンを立ち上げた状態でprovisionだけを実行するコマンド
vagrant provision
その他のコマンド
VM(仮想マシン)が起動しているかを確認する(Vagrantfileがあるフォルダで行う)
vagrant status
VM(仮想マシン)の一覧を表示
こっちの方が便利
$ vagrant global-status
VMを一時停止させる
vagrant suspend
suspendからの復帰
vagrant resume
VM(仮想マシン)を破棄する
vagrant destroy
最後に
次は、dockerと一緒に使ったりしてみたい(よく知らんけど)
とりあえず、UbuntuのVMを構築したりしてたらわくわくしますね