PackerでCentOS6のVagrant Boxを作って無料でAtlasで公開する
以前からVirtualBox+Vagrant用のCentOSのBoxを自分で手作業で作って使っていたのですが、作成をPackerで自動化してAtlasで公開してみました。
環境
- Windows 10
- VirtualBox 5.0.26
- Packer 0.10.1
- CentOS 6.8
準備
VirtualBoxは現時点での最新版は5.1.6ですが、安定性重視で5.0.26を使いました。以下からインストーラをダウンロードできます。
Packerは以下からダウンロードします。.zip形式なので展開して実行ファイルにPATHを通しておきます。
CentOS 6.8のインストールCDイメージファイルをダウンロードします。今回は以下のページから「CentOS-6.8-x86_64-netinstall.iso」をダウンロードします。
Packerテンプレート作成
下記を参考にさせていただきました。
作成するファイルは主に以下の3種類になります。
- テンプレートJSONファイル
- キックスタートファイル
- 初期設定用スクリプトファイル
作成したものは以下に公開しています。
テンプレートJSONファイルは「centos68.json」になります。
キックスタートファイルは「http/ks_centos6.cfg」になります。
初期設定用スクリプトファイルは「scripts/centos6_setup1.sh」と「scripts/centos6_setup2.sh」になります。
PackerでVagrantのBox作成
作成したPackerテンプレートをダウンロードして展開します。
あらかじめダウンロードした「CentOS-6.8-x86_64-netinstall.iso」を「iso」ディレクトリ下に移動させます。
コマンドプロンプトまたはターミナルから「centos68.json」があるディレクトリにcdしてからPackerを実行します。
> packer build centos68.json
Windowsの場合はWindowsファイアウォールの警告が出る場合があります。その場合は許可します。
成功すると「centos68.box」が作成されます。
Atlasで無料で公開する
Atlasはpublicで公開する限りは無料で利用できます。下記のページからアカウントを登録します。
登録完了したらログインして左上のプルダウンから「Vagrant Enterprise」を選択してVagrantの画面に移動します。
Boxを公開するには「New Box」をクリックして、公開するBox名を入力して「Create Box」をクリックします。
次にバージョンを入力する画面になりますが、ひとまず「1.0.0」と入力して、「Create Version」をクリックします。
次に「Create new provieder」をクリックして、「virtualbox」を選択して「upload」を選択し「Cotinue to upload」をクリックするとファイルをアップロードする画面になるので作成した「centos68.box」をアップロードします。アップロードが完了したら「Finish」をクリックします。
最後に左のサイドメニューから「Versions」をクリックしてバージョンの画面に移動すると「This version is unreleased.」と出ているので、バージョンの「Edit」をクリックして「Release version」をクリックすると公開されます。
Vagrantから利用する
以下のように「Atlasのアカウント名/Box名」を指定すると利用できます。
> vagrant init sadapon2008/centos68