shiba-hiro’s 備忘録

技術ブログの皮を被ったただの備忘録

空っぽの環境をつくるところから学習を始める(vagrant)

ブログ化した発端

自分のキャッチアップ内容を、ネット上で閲覧できる情報としてアーカイブしたかったのです。
どこからでも見れて、かつ自分としては積み上がっていくのが実感できれば楽しそうだなーと。
基本的には備忘録を公開していくスタンスです。

初回でvagrantを扱う理由

webアプリつくる仕事をさせていただいてて、基本、大きいプロジェクトへの追加機能開発やバグ修正をメインにやってました。
が、最近ちょっとずつ仕事の幅がインフラやデリバリにも広がってきたのです。
で、安全な環境で実験する方法を覚えたり、空っぽのEC2からアプリの起動まで持っていくステップを理解したりしたく、まず空っぽの環境をつくるところから始めます。

ローカル(開発環境、あるいは用意された環境)ならできたのに、的なのに陥らないようにしたいんですね。

ubuntu仮想マシンで立ち上げる

ってことで、さくっと仮想環境を立ち上げます。
ホスト側でのインストール箇所以外はどのOSでも変わらんはず。

ボックスは公式から探します。
app.vagrantup.com

本ブログでは aptを使ってインストールしています。
Macユーザー、Windowsユーザーの方はそれぞれ下記の記事などを参考にしてインストールしましょう。

Vagrant+VirtualBoxのインストール(Mac) - Qiita

Windows10のVagrantで仮想環境 | あきらめずにwindowsで開発する。

では始めましょう。

$ sudo apt install virtualbox
$ sudo apt install vagrant

# 適当なディレクトリをローカルに作成
$ mkdir -p ~/SandBox/vagrant-practice/for-ubuntu
$ cd ~/SandBox/vagrant-practice/for-ubuntu/

# 起動
$ vagrant init ubuntu/trusty64
$ vagrant up

こんだけです。簡単ですね。
vagrant upしたときに、ローカルにボックスが見つからなければ、ボックスを取得するところからやってくれます。

(20180226追記;0226以降は基本的にubuntu/xenial64(16.04)ベースでの動作確認に変更しています)

時間がかかりますが、起動が完了するとサーバーを操作可能になります。

# ゲストOSへssh接続
$ vagrant ssh
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-141-generic x86_64)
...
vagrant@vagrant-ubuntu-trusty-64:~$

# 簡単な操作を試してexit
vagrant@vagrant-ubuntu-trusty-64:~$ echo "Hello World"
Hello World
vagrant@vagrant-ubuntu-trusty-64:~$ exit
logout
Connection to 127.0.0.1 closed.

# ホストOSの操作に戻る
$ 

とりあえずこれ覚えておけばいいっしょなコマンドは下記あたりでしょうか。

vagrant status : ステータス確認
vagrant up : ゼロからの起動、halt後の再起動
vagrant halt : 停止
vagrant destroy : 削除
vagrant ssh : 接続

次は、こうして立ち上がった空っぽのサーバーで、ひとまずJavaのプログラムを走らせてみます。

20180216追記;
Ubuntu上でvagrant upしたときにフリーズしてしまう事象に一時見舞われましたが、解消しました。

shiba-hiro.hatenablog.com