読者です 読者をやめる 読者になる 読者になる

Vagrantの簡単な使い方

Vagrant
Vagrant

GW中からマイブームのドットインストールが楽しくて、インフラ系技術『Vagrant』を学び直しました。確か前回やったのは、今年の正月に『Docker』をやった時だった。説明するのは難しいが、技術そのものが役に立つというよりも、そのプロセスが実際の仕事に生きてくることが多い。今回もそんなことが多々あった。そういう意味でドットインストールって本当に有益だと思う。

僕の場合は、Windows7にVirutal Boxをインストールして、Vagrantを弄っています。ですので、MacLinuxの場合はちょっと気にするところが違うかもしれません。

Vagrant box コマンド一覧

vagrantをインストールすると使える、代表的なコマンド。

> vagrant box -h
Usage: vagrant box <subcommand> [<args>]

Available subcommands:
     add -> Boxの追加
     list -> ダウンロードしたBoxの一覧
     outdated
     remove -> Boxの削除
     repackage
     update

Boxのダウンロード

下記のサイトは代表的なBox配布サイト。 A list of base boxes for Vagrant - Vagrantbox.es

Boxの追加

コマンドを実行して、Boxをダウンロード。ダウンロードしたBoxは、ユーザ名フォルダの隠しフォルダ内に格納される。

> vagrant box add centos7 https://github.com/holms/vagrant-centos7-box/releases/download/7.1.1503.001/CentOS-7.1.1503-x86_64-netboot.box

ダウンロードしたBoxの一覧取得

> vagrant box list

VM立ち上げまでの手順

  • initコマンドの初期化で、VM構成情報が書かれたVagrantfileがフォルダ内に生成する
  • Vagrantfile生成後は、upコマンドを実行すればVMマシンが立ち上がる
  • フォルダ内で実行するコマンドは全て、そのインスタンスに対するもの
> mkdir myCentOSVM
> cd myCentOSVM
> vagrant init centos7
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.
> vagrant up

VM起動後のコマンド

> vagrant status -> 状態確認                                            
> vagrant suspend -> 一時停止
> vagrant resume -> 一時停止からの復帰
> vagrant halt -> 停止
> vagrant up -> 起動
> vagrant destroy -> 削除、但しVegrantfileは残っている為、upで再開できる
> vagrant reload -> Vegrantfileを更新した際の反映、再起動が伴う

VMへの接続

Vagrant内でsshコマンドを実行することも可能だが、TeratermPuttyではうまくいかない事が多いらしい。実際下記のような出力で接続出来なかった。

> vagrant ssh
`ssh` executable not found in any directories in the %PATH% variable. Is an
SSH client installed? Try installing Cygwin, MinGW or Git, all of which
contain an SSH client. Or use your favorite SSH client with the following
authentication information shown below:

こういう場合は『Git for Windows』を入れると良い。インストールは下記のリンクが大変参考になりました。

WindowsにおけるGit利用環境は整った: Git for Windows と SourceTree for Windows - 檜山正幸のキマイラ飼育記

『Git for Windows』インストール後は、アイコンをクリックして表示されるターミナル上でVagrantフォルダに行けば、sshコマンドで仮想マシンに入ることができる。

Vagrantfileの編集

僕はそこまでこだわった使い方をしていないのですが、ブリッジでdhcpによるIPアドレスの取得にしておくと色々都合が良いので、該当箇所だけ編集しています。

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
config.vm.network "public_network", bridge: 'en0: Ethernet'