VagrantのBoxを作成する
実践Vagrantを読んだので,実際にUbuntu16.04のvagrant boxを作ってみる
環境
- Windows10x64
- VirtualBox 5.1.28
- Vagrant 2.0.0
VirtualBoxのマシン作成
設定
仮想マシンの作成
- メモリはあとで変えられるので少なめに
- 仮想ハードディスクを作成するにチェック
仮想ハードディスクの作成
- ファイルサイズ変えるのはめんどうなので多めに
- ストレージ
- isoをセットする
オーディオを有効化のチェックをはずす
あとは仮想マシンを起動し普通に進めていく
- ユーザ名,パスワードはvagrantにしておく
Ubuntuの設定
- 仮想マシンを起動し,tarminalを起動
sshができるようにopenssh-serverをインストール
$ sudo apt-get update $ sudo apt-get install openssh-server
sudoをパスワードなしで実行できるように以下のように設定する
$sudo visudo
変更前
# Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL
変更後
# Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) NOPASSWD: ALL
ディレクトリを英語化
$ LANG=C xdg-user-dirs-gtk-update
VirtualBox Guest Additionsのインストール
- Virtual BoxのデバイスからGuest AdditionsCDイメージの挿入を選択し実行
LocalへのSSH接続するときにパスワード不要にする
$ ssh-keygen -t rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod og-wx ~/.ssh/authorized_keys
最終的なボックスのサイズの最小化
- 仮想ハードディスクをゼロで埋め,ゼロで埋まったファイルを削除する
下位のディスクのフラグメンテーションの問題が解決され,後で行う圧縮の効率が上がる
$ sudo dd if=/dev/zero of=/EMPTY bs=1M $ sudo rm -f /EMPTY
その他メモ
- insecure private keyの設定は必要ないっぽい
vagrant boxの作成
- ここからはWindows上で行う
- パッケージ化
baseにはVirtual Boxで指定した名前をいれる
vagrant package --base ubuntu1604_base --output ubuntu1604_base.box
マシンの作成
boxを追加する
vagrant box add --name ubuntu1604 ubuntu1604_base.box
Vagrantfileの作成
vagrant init ubuntu1604
Vagrantfileの編集
- private_keyを使ったssh接続ができないので,パスワードで接続できるようにする
1度接続できれば鍵が自動で生成されるっぽい
config.ssh.username = 'vagrant' config.ssh.password = 'vagrant'
起動
vagrant up
参考
- 作者: Mitchell Hashimoto,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/02/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (10件) を見る