VagrantでCentOS7の環境を作ってみる

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  # ボックス
  config.vm.box = "centos/7"

  # 共有フォルダ
  config.vm.synced_folder "./data", "/home/vagrant/data"

  # IPアドレス
  config.vm.network "private_network", ip: "192.168.33.10"

  # VirtualBoxの設定
  config.vm.provider "virtualbox" do |vb|
    # 名前
    vb.name = "vagrant-hogehoge"

    # CPUの数
    vb.cpus = 2

    # メモリ(MB)
    vb.memory = 2048
  end
end

Vagrantfileを設置したディレクトリで下記を実行。

> vagrant up

補足

うまく作れたら、とりあえずスナップショットをとっておくと、何かあったとき戻せて便利だと思う。

> vagrant snapshot save スナップショット名

うまく動かない場合は、下記を参照。

VirtualBox/Vagrantがうまく動かない時にやったこと https://yk5656.hatenablog.com/entry/20201103/1604329200

先頭のコメント

先頭のコメントは、emacs/viでのシンタックスハイライトのための設定みたい。

# -*- mode: ruby -*-
# vi: set ft=ruby :

[参考]
初期状態のVagrantfileのコメントアウト部分を読む
https://yukiyan.hatenablog.jp/entry/2015/05/08/092100

共有フォルダ

synced_folderを設定しなくても、デフォルトで「/vagrant」に共有フォルダが作成される。 しかし、リアルタイムで更新はされない。
「/vagrant」をリアルタイムで反映させる場合は、「type: "virtualbox"」を指定して、 synced_folderを設定する必要があるみたい。

  config.vm.synced_folder ".", "/vagrant", type: "virtualbox"

[参考]
Vagrantで共有フォルダの内容がリアルタイム同期されない件
https://qiita.com/sudachi808/items/edc304b3ee6c1436b0fd

CentOSのboxの種類

vagrantのboxを「centos」で検索してみると、
https://app.vagrantup.com/boxes/search?utf8=%E2%9C%93&sort=downloads&provider=&q=centos

大きく分けて、下記の3種類ある。

centos/N」はCentOS公式のBoxで、
「bento/centos-N.M」はサーバーの構成管理ツールなどを開発しているChef社によって提供されているBox、
みたい(よく分かってない)。
「generic/centosN」は、Lavabit社などが運営しているRoboxes(https://roboxes.org/)で提供されてるboxみたいだが、こちらもよく分かってない。

関連記事

VirtualBox/Vagrantがうまく動かない時にやったこと
https://yk5656.hatenablog.com/entry/20201103/1604329200

Vagrant2.2.13でCentOS7をインストールしてみる
https://yk5656.hatenablog.com/entry/20201111/1605074014