今回は、macの環境にVagrantをインストールするメモとなります。
尚、こちらのメモは、VirtualBoxをインストールしている前提のメモとなります。
Vagrantは、仮想環境の管理ツールなので、
VM WareやVirtualBoxなどの仮想マシンが導入されていないと、利用することができません。
VirtualBoxの導入は以下を参考にして頂ければと思います。
環境
・OS:mac OS Catalina 10.15.6
・VirtualBox:6.1.16 r140961 (Qt5.6.3)
インストール対象
・Vagrant:2.2.14
インストーラー取得
まずは、以下公式サイトからインストーラーを取得します。
ダウンロードページに、OS毎のダウンロードボタンが用意されていますので、
ダウンロードボタンをクリックします。
インストール
インストーラーのdmgファイルを取得したら、
Finder等で表示して、ダブルクリック等で起動します。
vagrant.pkgをダブルクリックして、インストーラーを起動します。
インストーラーが起動したら、そのまま続けるボタンをクリックします。
インストールの種類では、インストール場所を変更する場合、
インストール先を変更ボタンをクリックして指定します。
特に事情がない場合、そのままインストールボタンをクリックします。
環境によっては、インストール開始前に実行許可の確認が表示されます。
パスワード入力による許可か、Touch IDによる許可を行います。
許可するとインストールが実行されます。
インストールが完了すると完了メッセージが表示されますので、
閉じるボタンをクリックして閉じます。
インストールが完了したら、
挙動確認も兼ねて、バージョン表示を行います。
ターミナルを起動して、
以下のコマンドを実行します。
vagrant -v
バージョン番号が表示されたら、Vagrantがインストールされ起動しています。
Boxイメージ (仮想マシン) 取得・初期化
Vagrantでは、仮想マシンをBoxイメージという単位で取り扱います。
Boxは、Vagrant Cloudから取得できます。
※Vagrant Cloudは、ver1.5から利用できます。
まず、Vagrant Cloudにアクセスして、目当ての構成のBoxを探します。
https://app.vagrantup.com/boxes/search
検索ボックスを利用して、目的のOSなどを検索します。
今回は、ubuntuのBoxイメージを利用したいので、ubuntuを検索します。
目的のBoxイメージが見つかったら、クリックして詳細を確認します。
ローカルでBoxイメージを取得するためのコマンドが、
Newタブに記載されていますので、事前に確認します。
目当てのboxイメージを見つけて、初期化コマンドも確認したら、
仮想マシンのファイルを配置したいディレクトリで、確認済みのコマンドを実行します。
コマンドは、以下の形式であり、
vagrant init ユーザ名/Box名
今回確認済みのboxを利用する場合には、以下の様に実行します。
vagrant init ubuntu/focal64
vagrant init を実行すると、実行ディレクトリにVagrantfileという設定ファイルが生成されます。
仮想マシン起動
Vagrantfileを生成したら、仮想マシンを起動します。
起動は以下のコマンドで実行します。
vagrant up
VirtualBoxがインストールされていない場合や、バージョンの相性が悪い場合には以下の様なエラーが発生します。
No usable default provider could be found for your system. Vagrant relies on interactions with 3rd party systems, known as "providers", to provide Vagrant with resources to run development environments. Examples are VirtualBox, VMware, Hyper-V. The easiest solution to this message is to install VirtualBox, which is available for free on all major platforms. If you believe you already have a provider available, make sure it is properly installed and configured. You can see more details about why a particular provider isn't working by forcing usage with vagrant up --provider=PROVIDER, which should give you a more specific error message for that particular provider.
こちらのエラーが発生する場合は、
仮想マシンがインストールされていないか、仮想マシンのバージョンがVagrantと相性が悪いなど、
Vagrantが仮想マシンを利用できない状態になっています。
仮想マシンをインストールし直すなどの対応が必要となります。
仮想マシン 接続
今回は、Vagrantコマンドのsshで接続する方法と、
VirtualBoxから接続する方法の両方をメモしておきます。
Vagrant ssh 接続
Vagrantのsshコマンドで接続するためには、Vagrantfileを生成したディレクトリで、
以下のコマンドを実行します。
vagrant ssh
接続を正常に行えたら、以下のコマンドなどを利用して、
想定の環境に接続していることを確認します。
cat /etc/os-release
そして、接続を一時停止する場合は、以下のコマンドを実行します。
vagrant suspend
完全に停止させる場合は、以下のコマンドを実行します。
vagrant halt
仮想マシンの状態を確認したい場合には、以下のコマンドで確認します。
suspendを実行した場合、stateがsavedになります。
haltを実行した場合、stateがpoweroffになります。
実行中の場合、stateがrunnninngになっています。
suspendとhaltの違いに簡単に触れますと、
suspendは、一時停止なので作業途中の状態の保存されるため、
保存容量を多く消費する代わりに、仮想マシン内で起動しているWebサーバーなども、
そのままの状態で復帰することができます。(vagrant resumeで復帰可能)
対してhalfは、suspendよりは、保存容量の消費が少なく済む代わりに、
WebサーバーやDBなども起動し直す必要があります。
どちらで終了しても、vagrant upで復帰可能です。
※vagrant suspend → vagrant upと、vagrant suspend → vagrant resumeの
細かな挙動については確認できていません。
Virtual Box 接続
VirtualBoxの機能を利用して接続することもできます。
まず、VirtualBoxを起動します。
VirtualBoxを起動すると、起動中の仮想マシン(VM)が一覧表示されます。
Vagrantで仮想マシンを立ち上げると、
vagrantfileが配置されているディレクトリ名_defaultという命名になりますので、
今回の例の場合、ubuntu_focal64_defaultとなります。
目的の仮想マシンを選択して、表示ボタンをクリックします。
しばらくすると、接続されてターミナル画面が表示されます。
環境によっては、入力を行おうとすると、
システム環境設定の変更を促されますので許可を行います。
終了時には、VirtualBoxの操作方法通りに終了を行います。
今回のメモは以上となります。
Vagrantは、色々な構成の仮想マシンを簡単に利用できる様になりますので、非常に便利です。
仮想環境を整備したい方は、参考に頂ければと思います。