Vagrantfile を作ってみよう
Vagrant と VirtualBox を使うときに作るのが Vagrantfile
これがあると簡単にVM環境を生成/破棄したり出来る
- 作り方
- Vagrantfileをしまっておくフォルダを作る
- フォルダに1つだけ必要
- 何度も使われる
- 書き換えたら更新できる(当たり前だけど)
- Vagrantfileをしまっておくフォルダを作る
- フォルダを作る
- mkdir する
- ここでは仮に mkdir myapp にしておく
- フォルダに移動
- vagrant init bento/ubuntu-18.04 を実行する
- boxの内容は他のでもいいけど、ココで解説するのは bento/ubuntu-18.04 だけだよ
- Vagrantfile が myapp フォルダの中に出来る
- VM環境のディスク容量を指定したい場合
- vagrant plugin install vagrant-disksize を実行する
- 参考サイトは、ココ
- クリップボードとかを双方向で使いたい場合
- vagrant plugin install vagrant-vbguest を実行する
- 参考サイトは、ココ
- テキストエディタで開いて Vagrantfile の中身を確認する
中身には色々書いてます。
VM環境で使うメモリのサイズとか、IPとか、GUIを使うかどうかとか。
Vagrantfileの詳細は公式で確認してね
- Box は bento/ubuntu-18.04 を使う
- 他は以下みたいな形で書けば、とりあえずは良いかもしれない
Vagrantfile
#Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-18.04"
config.vm.box_version = "201912.14.0"
#config.disksize.size = '40GB' # 指定する場合はpluginをインストールしてね
config.vm.box_check_update = false
config.vm.network "private_network", ip: "192.168.123.222"
config.vm.provider :virtualbox do |vb|
vb.memory = 4096
vb.cpus = 2
vb.gui = true
vb.customize [
"modifyvm", :id,
"--vram", "256",
"--clipboard-mode", "bidirectional", # VirtualBox6.0だと"--clipboard"なので注意。idは同じ
"--draganddrop", "bidirectional",
"--accelerate3d", "off",
"--hwvirtex", "on",
"--nestedpaging", "on",
"--largepages", "on",
"--ioapic", "on",
"--pae", "on",
"--paravirtprovider", "kvm",
]
end
config.vm.provision :shell, :inline => <<-EOS
wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
sudo wget https://www.ubuntulinux.jp/sources.list.d/bionic.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get full-upgrade -y
sudo apt-get autoremove -y
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get install -y ubuntu-desktop ubuntu-defaults-ja aptitude curl dnsutils lsof zip unzip lsb-release tree man
sudo timedatectl set-timezone Asia/Tokyo
sudo update-alternatives --set editor $(update-alternatives --list editor | grep 'vim.basic')
#sudo apt-get install build-essential #gccを使うなら有効にしてね
EOS
end
参考
- Vagrant + VirtualBox 構築の時の話
- VMのディスクサイズの話
- VMのクリップボードの話
- Vagrantfileの説明
- Vagrant公式