vagrant + virtualbox 事始

公開日:2018-11-14
最終更新:2018-11-15
※この記事は外部サイト(http://or3.hatenablog.com/entry/2018/11/14...)からのクロス投稿です

IaaSを調べてる一環です。

0. 環境

VirtualBox

VirtualBoxは(使ったこと無いけど)いつのまにか入れていた

$ VBoxManage -v
5.2.22r126460

vagrant

vagrantとかいうのを入れる。

$ brew cask  install vagrant
$ vagrant -v
Vagrant 2.2.0

次はローカル開発環境の構築だ。どうも最近はVagrantを使うのが主流のようである。  LinuxのISOイメージをダウンロードして、VirtualBox上にインストールして、ネットワークデバイスを有効にして、sshdの設定して、共有ディレクトリの設定して……みたいなめんどくさい作業がほぼ自動でできるようだ。  vagrant box addでOSのイメージファイルを追加して、vagrant initでVagrantファイルを作って、vagrant upするだけでOSが起動する。そしてvagrant sshでSSH接続までできる。なにそれすごい。  Vagrantファイルをリポジトリで管理できるし、チーム開発のときはあらかじめ環境構築しておいたboxファイルをメンバーに配布して、vagrant upしてね、だけで済むのか。PuppetやChefなんかのプロビジョニングツールを組み合わせればさらにいろいろできるし。 https://qiita.com/katanov/items/1d99d27844392e380ec7#vagrant

仮想マシンの簡単な構築や、どこでも同じ環境を再現できるように仮想マシンを管理するためのコマンドラインツールです。 Rubyで実装されていて、Windows、Mac OS X、Linuxで動作します。 Vagrant自体には仮想化機能は無く、VirtualBoxなどの仮想化ソフトのフロントエンドとして機能し、仮想化ソフトの操作を簡単なコマンドで代行してくれます。
https://qiita.com/ozawan/items/160728f7c6b10c73b97e#vagrant%E3%81%A3%E3%81%A6%E3%81%AA%E3%81%AB

してみると、昔はVirtualBoxでそういう設定をいちいちしていたが、vagrantのおかげで楽になった、ということらしい。自分はvirtualbox自体使ってないので、現時点ではその程度の理解。

Provider

vagrantはべつにVirtualBox専用というわけではなくて、VMWareとかParallelsみたいな仮想化ソフトとかAWSなんかも扱える。VirtualBoxとかVMWareとかParallelsとかAWSをvagrantではプロバイダーと呼んでいるらしい。プロバイダーはデフォルトではVirtualBoxだが、ここ https://www.vagrantup.com/docs/providers/basic_usage.html#default-provider にあるようにいくつかの方法で変更が可能。

1. 作業ディレクトリ

適当に作る。

$ mkdir -p Vagrant/handson_by_debian
$ cd Vagrant/handson_by_debian

名前どおり、今回はDebianでいくことにした。

2. 【Vagrant】Boxを探す、いれる、起動

Box

VirtualBoxでは入れるOSのisoイメージを用意してそれをぶち込んでセットアップ、という作業がある。VagrantのBoxを使えばそんなの必要なくなる。

Boxとはいろんな設定が最初から入っているファイル、という感じ。OSやら設定やらでたくさんあるのは容易に想像がつくが、https://app.vagrantup.com/boxes/search で探せる。適当にDebianで検索していちばんDLされているやつを選んだ。

仮想化ソフトでちまちまやっていったメモリとか容量とかの設定はこのBoxファイルに予め入っているらしい。これも後述するVagrantfileで変更が可能。

入れる

ちなみに入れ方(init)は上記のvagrantup.comの欲しいBoxをクリックすれば丁寧に教えてくれる。

$ vagrant init debian/jessie64
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

そうすっとVagrantfileが作られているので覗いてみる。コメントアウトは表示させないようにすると

$ cat Vagrantfile | grep -v "#" | grep -v "^\s*$"
Vagrant.configure("2") do |config|
  config.vm.box = "debian/jessie64"
end

ちなみにこの中身も上記のvagrantup.comの対象のBoxページの"Vagrantfile"ってとこにまんま書かれている。

起動

vagrant upで起動。最初はふつうに時間がかかる。

成功したらVirutalBoxを立ち上げると、ちゃんと作られているし動いている。

vagrant ssh

なんか最初からssh接続できるっぽい。

$ vagrant ssh

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
[email protected]:~$ 

キーボードレイアウト変更

デフォルトで英字になっているっぽい。コメ喰えコメ。
localectlとかで確認できるっぽい

とりあえずまっさらのままだったので

sudo apt update
sudo apt upgrade

これを試すが直らず。 http://foma-zakki.cocolog-nifty.com/zakki/2014/01/debian-linux-d6.html

結局これでうまくいった。 https://superuser.com/questions/659247/installing-different-keyboard-layout-on-live-debian-image

apt-get update
apt-get install console-data


これでいい。

次回

PostgreSQLをいれてデータベースをはじめてみるよ☆彡

記事が少しでもいいなと思ったらクラップを送ってみよう!
18
+1
@0reor3'の技術ブログ

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする