Mac + VirtualBox + Ubuntu 14.04 + Docker による開発環境構築
仕事でDockerを利用して開発環境を作る機会が頂けましたので環境構築の手順の共有と備忘録として記事を書いていきたいと思います。
各ソフトウェアのバージョン情報など
・MacOSX 10.11.1
・VirtualBox 5.0.14
・Ubuntu 14.04 LTS
・Docker 1.10
VirtualBoxをインストール
VirtualBoxはこちらから最新版をダウンロードできます。
https://www.virtualbox.org/
こちらは特に難しいところはないので、画面に従ってインストールしてください。
VirtualBoxへUbuntuをインストール
VirtualBoxのインストールが終わったら次は実際にUbuntuをインストールします。
まずはUbuntuのイメージファイルが必要なので下記のサイトからダウンロードします。
http://www.ubuntulinux.jp/download/ja-remix
イメージファイルがダウンロードできたら、VirtualBoxの左上にある「新規(N)」ボタンを押して
Ubuntu用のバーチャル環境を作成していきましょう!
まずはバーチャル環境に名前を付けます。それ以外の項目はそのままで良いでしょう。
次に、メモリサイズの指定を行います。
僕は2GBを指定してみました。マシンのメモリ容量と相談して適当に設定しましょう。
次はハードディスクの設定項目です。
仮想ハードディスクを設定するかどうかですが、初回であれば何もないはずですので「仮想ハードディスクを作成する(C)」を選択しましょう。
ハードディスクのファイルタイプは「VDI (VirtualBox Disk Image)」を選択します。
物理ハードディスクの設定は今回は「可変サイズ(D)」にしました。
固定サイズにすると、作成時に少し時間がかかる代わりに処理速度が上がるようですが、ディスク容量の節約のために今回は可変サイズで作成します。
最後にディスク容量を指定して作成します。
Ubuntuをインストールするには最低7GBの容量が必要なため、少し余裕をもたせて8GBとしました。
これで無事にUbuntu用のバーチャル環境の作成が完了です!
それでは「起動(T)」ボタンを押してUbuntuを起動してみましょう!
するとこんな画面が表示されるかと思います。
ここで先ほどダウンロードしておいたUbuntuのイメージファイルを選択して「Start」ボタンを押します。
そうすると起動時にこのイメージファイルがロードされてUbuntuのインストール画面が表示されます。
右の「Ubuntu をインストール」ボタンを押してUbuntuをインストールしていきましょう。
・必要最低限のHDD空き容量があること
・インターネットに接続されていること
この2つがクリアできていればインストールが可能です。
(たぶん大丈夫になってるはず)
警告と書いてあって若干怖いですが、「ディスクを削除してUbuntuをインストール」を選択します。
初回インストールなので特になくなって困るものはありませんので大丈夫です。
住んでいる地域を選択します。
キーボード設定ですが、特に指定がなければそのまま続けます。
ここまで設定が終わるとOSのインストールが始まりますのでしばらく待ちます。(約20分程度)
インストールが終わると再起動が求められます。
再起動した結果が以下の画面になります。
無事にUbuntuをインストールすることができました!
ご覧の通りインストール完了後の初期状態だと解像度がだいぶ小さいです…。
作業効率化のためにまずは解像度の設定を行いましょう。
初期状態だと640x480しか選択することができません。
Ubuntuが表示されているウィンドウのウィンドウメニューから
「Devices」→「Insert Guest Additionas CD image...」を選択します。
すると以下のようなポップアップが表示されるので「実行する」ボタンを押します。
パスワードが求められるのでUbuntuのインストール時に設定したパスワードを入力して「認証する」ボタンを押します。
コマンドラインが起動して何やらインストールが始まります。
画面に「Press Return to close this window...」と表示されたら完了です。
リターンキーを押してウィンドウを閉じましょう。
その後、バーチャル環境を再起動すると640x480以外の解像度も選べるようになっているはずですので、環境に合わせて好きなものを設定しましょう。
UbuntuへDockerをインストール
さて、ようやくUbuntuがインストールできたところで次は本題のDockerをインストールしていきたいと思います!
インストールと聞くと apt-get や yum が思い浮かぶかと思いますが、apt-getを利用すると少し古いバージョンがインストールされるようです。
今回は wget で最新をインストールしていきたいと思います。
$ wget -qO- https://get.docker.com/ | sh
インストールが終わりました。
最後にこんなことが書いてあります。
If you world like to use Docker as a non-root user, you should now consider adding your user to the "docker" group with something like: sudo usermod -aG docker kabayama Remember that you will have to log out and back in for this to take effect!
ようするに、ルートユーザ以外で実行したい場合はこのコマンドを実行しておいてね!ってことみたいです。
それでは Docker コマンドでバージョン確認をしてみましょう。
$ docker version
バージョン情報が表示されました!
さっそく Docker の Hello World を実行してみたいと思います!
あれ・・・。エラーになってしまいました。
この後あちこちググりながら1時間ほどいろいろ試したのですが、結局OSを再起動したら sudo 付けずに一般ユーザで実行できるようになりました。
環境構築手順としてはそれほど多くはありませんが、実際にやってみるといろいろハマるところがあり2〜3時間を要してしまいました。
おそらくこのコマンドが有効化されるために、OSの再起動が必要なようですね。
sudo usermod -aG docker kabayama
再起動しても解決されない場合は、Dockerサービスが上がっていない可能性があるので以下のコマンドで解決するかもしれません。
sudo service docker start
今回はかなり手こずってしまいましたが、次回からはすんなり構築できるようにしっかり覚えたいと思います。
同じような問題でハマっている方、これからDockerを使ってみようという方の少しでも参考になれば嬉しいです。