はじめに
開発を行っているとプログラムのテストや不具合発生時の現象確認など様々な理由で、その時の状況にあったDBサーバやWebサーバ等、開発環境を準備しなければならない場合があります。
こういった時に別途端末を用意して、新しく環境を構築するとなると空き端末を探したり、環境構築に手間がかかります。また、ローカル開発環境に直接サーバソフトウェア等をインストールするような方法も異なるバージョンが共存出来なかったり、テスト等で環境が壊れたりした場合の修復が大変になる可能性があります。
これらの問題を解決する方法として、ローカル開発環境内に仮想環境を構築して、その中で自由に環境を構築したり破棄したりといった方法があります。
最近だとMacでもDocker Desktopを使って簡単にコンテナを使って環境を構築したり破棄したり出来ますが、今回は、VirtualBox+VagrantでUbuntu 20.04で仮想マシンを構築し、その上にDocker環境を構築します。
また、スクリプトを使って出来る限り簡単に環境を構築したり破棄したり出来るようにします。
実行に使用するスクリプトは、Githubに公開しています。Vagrantで仮想環境構築時のスクリプトを変更することでテスト自動化等にも使用出来るのではないかと思います。
このページでは、仮想マシン構築用スクリプト(vm-configure)を使ってVirtual Box上にUbuntu+Docker仮想マシンを作成する手順のみを説明しています。
スクリプトの中で実行している内容を知りたい方は、下のリンクのフォルダ構成に記載れているUbutuに関連するファイルへのリンクを参照してください。
Ubuntu以外の仮想環境を構築する場合は、下のURLを参照してください。
環境について
ホスト環境
仮想環境を構築するホスト側に必要な環境です。
- macOS Catalina
- VirtualBox 6.1
- Vagrant 2.2.9
VirtualBox・Vagrantをインストール出来ていない場合は、下のページを参照してインストールしてください。
構築環境
今回実行するスクリプトでは、以下のOS・ソフトウェアが仮想環境にインストールされます。
- Ubuntu 20.04:Chef Software社が公開しているBox(Vagrant用の仮想端末のテンプレート)を使用しています。
- Docker
- Docker-compose
- Jenkins:OSSの日本製CI/CDツールです。Docke上に構築しています。
- Growi:OSSのMarkdownで記載出来る日本製Wikiです。Docke上に構築しています。
構築用スクリプトのダウンロード
環境を構築するためのスクリプトファイルをここからダウンロードして、適当なフォルダに解凍してください。
ダウンロードしたスクリプトファイルのフォルダ構成は、スクリプト実行時に相対パスで参照しているものもあるので変更しないようにしてください。
ダウンロードしたスクリプトファイルを手順通りダブルクリックで実行できない場合は、下のページを確認して下さい。
仮想環境の構築手順
ダウンロードした構築用スクリプトに含まれている/vm-configure/host-osx/ubuntu-20.04/vm-create.command
をターミナルまたはダブルクリックで実行すると、UbuntuやDocker等必要なソフトウェアのダウンロードとインストールが行われ仮想環境が構築されます。

スクリプトを実行するとホストOS(Mac OS)の起動・停止時にゲストOS(Ubuntu)を起動・停止するためのスクリプトを実行するようにLaunchdへ変更を加えます。このスクリプトがないと仮想マシンを停止する前に誤ってMacを停止すると仮想マシンが強制終了となり壊れる場合があります。
UbuntuへSSH接続
構築したUbuntu 20.04の仮想マシンへはSSHで接続することが出来ます。
接続するには、ターミナルで/vm-configure/host-osx/ubuntu-20.04/
フォルダを開き以下のコマンドを実行します。
vagrant ssh
Ubuntu 20.04の管理者ユーザーとパスワードは、vagrant/vagrantです。
SSH接続後は、通常のUbuntuと同じようにコマンドで操作出来ます。
Growi
ホストOSのブラウザで、http://192.168.33.101を開くとGrowiの初期設定画面を開くことが出来ます。

Jenkins
ホストOSのブラウザで、http://192.168.33.101を開くとJenkinsの初期設定画面を開くことが出来ます。

仮想環境の起動手順
ダウンロードした構築用スクリプトに含まれている/vm-configure/host-osx/ubuntu-20.04-start.command
をターミナルまたはダブルクリックで実行すると、Ubuntu 20.04の仮想マシンが起動します。
仮想マシンは、構成ファイルの読み込み等を行うためスクリプトで起動・停止する必要があります。
仮想環境の停止手順
ダウンロードした構築用スクリプトに含まれている/vm-configure/host-osx/ubuntu-20.04-stop.command
をターミナルまたはダブルクリックで実行すると、Ubuntu 20.04の仮想マシンが停止します。
仮想マシンは、構成ファイルの読み込み等を行うためスクリプトで起動・停止する必要があります。
仮想環境の破棄手順
ダウンロードした構築用スクリプトに含まれている/vm-configure/host-osx/ubuntu-20.04/vm-destroy.command
をターミナルまたはダブルクリックで実行すると、下のメッセージが表示されるので「y」を入力し「Enter」キーを入力するとUbuntu 20.04の仮想マシンが削除されます。
vm1: Are you sure you want to destroy the 'vm1' VM? [y/N]
仮想環境構築でLaunchdに追加されたスクリプトも削除されます。
GitHub
使用したスクリプトは、GitHubに公開しています。
Comment