逆引きマニュアル: Vagrant Boxの作成

投稿日: 更新日:

やりたいこと

Vagrant Boxをゼロから作成します。

前提条件

以下で動作確認しています。

  • Vagrant 1.9.3(Mac)
  • VirtualBox 5.1.22(Mac)
  • CentOS-7-x86_64-Minimal-1708.iso

概要

制限事項

VirtualBox Guest Additionsを入れていないため、 共有フォルダの設定があると、エラーになります。

手順

【注意】以下の手順だとネットワーク周りがおかしいです。 何か手順漏れっぽいですね。。。あとで追記します。

OSのインストールまで

  1. VMの作成
    1. VirtualBoxを起動(libvirtではダメかも?1)
    2. 「New」ボタンを押す
    3. 以下のように入力
      • Name: Vagrant
      • Type: Linux
      • Version: Red Hat (64bit)
    4. メモリはデフォルト(1024MB)
    5. ディスク設定
      • Create a virtual hard disk nowを選択
      • Createボタンを押す
    6. Hard disk file type: VDI (VirtualBox Disk Image)を選択
    7. Dynamically allocatedを選択
    8. サイズを設定(例: 50GB)
  2. ディスクイメージの設定
    1. Settingsを選択
    2. Storageを選択
    3. Controller: IDEのAttributesのOptical Driveの右側のアイコンをクリック
    4. Choose Virtual Optical Disk File...を選択
    5. ISOイメージを選択
  3. CentOSのインストール
    • ネットワークとホスト名を開いて、「オン」にする。
    • rootのパスワードはvagrantにすること2
  4. yum update

Vagrant固有の設定について

Default User Settingsの内容を設定します。

  1. useradd vagrant
  2. echo -n vagrant | passwd --stdin vagrant
  3. echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
  4. su - vagrantして、以下の作業を行う。
    1. mkdir ~/.ssh
    2. chmod 0700 ~/.ssh
    3. curl -o ~/.ssh/authorized_keys https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub
    4. chmod 0600 ~/.ssh/authorized_keys

Vagrant Boxの作成

  1. vagrant package --base Vagrant

動作確認

  1. vagrant box add --name my-centos7 package.box
  2. vagrant box list
  3. 適当な空ディレクトリを作成
  4. vagrant init my-centos7
  5. vagrant up
  6. vagrant ssh

公式サイト

外部サイト

マニュアル