Vagrant
複数のVMホスト間で、共通の操作ができるようにするVMフロントエンド。みたいなやつ
vagrant init [boxname]
vagrant up
vagrant halt
vagrant destroy
Vagrantfileはプロジェクト毎に用意する考え方
環境構築
Vagrantインストール
VMホスト(Virtualbox)インストール
どちらもバイナリなのでホスト端末のOSに合わせたものをインストール
使用する仮想マシンを追加
vagrant box add CentOS7.0 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
Vagrantfileの作成
code:sh
mkdir vagrant_centos7
cd vagrant_centos7
vagrant init CentOS7.0
他所から持ってきても良いし、githubとかに上げておくのも良い
起動と状態確認
code:sh
vagrant up
vagrant status
vagrant halt
ゲストOSにログイン
code:sh
vagrant ssh
ここからLinux環境
スーパーユーザに
code:sh
sudo su - # passは'vagrant'
---
以下雑記。Vagrantと言うかLinuxの話
### 日本語化
`sh
ロケールを日本に設定し直し
localectl set-locale LANG=ja_JP.utf8
localectl set-keymap jp106
タイムゾーンをJSTに
timedatectl set-timezone Asia/Tokyo
`
### パッケージのアップデート
yum upgrade
### gitインストール
yum install git
### rbenvインストール
`sh
yum remove ruby
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> .bash_profile
`
ここで一度SSHを抜ける(環境変数適応のため)
### ruby-buildインストール
`sh
mkdir -p "$(rbenv root)"/plugins
`
### rubyインストール
`sh
rbenv install 2.3.1
rbenv rehash
rbenv global 2.3.1
`
### bundlerインストール
`sh
gem update --system
gem install bundler
`
## Vagrantの起動失敗
mac移動したらvagrantが起動しなくなった。
どうも、macのバージョンによって、システムファイルの置き場所が違う場合がある模様
sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
で動くようになった
## vagrantでディスクサイズを増やす
物理サイズを増やす
## vagrantのNFSでエラー
共有していたフォルダを消すとバグるみたい
`sh
vagrant halt
# viで不要なを消すでもいいかも
rm -rf /etc/exports
touch /etc/exports
vagrant up
`