Docker for Macを試す
時代のトレンドはDockerらしいので、Docker for Mac(正式版)を試したみた。
DockerはmacOSとWindowsの環境で簡単にDocker環境を構築できるツール「Docker for Mac」「Docker for Windows」の正式版をリリースしたと発表しました。
Docker for Mac/Windowsが正式版としてリリース - Publickey
以前のバージョンなら仮想マシンとしてVirtualBoxをインストールする必要があり、重いソフトを起動させるのは(気分的にも)重いものが有ったのだけど、正式版ではネイティブな仮想化機能がサポートされたので、その課題が解消されている。
Docker for Mac and Windowsは、それぞれのOSのネイティブアプリケーションの形式で提供され、VirtualBoxの代わりにそれぞれのOSに組み込まれている仮想化機能、WindowsではHyper-V、MacOSではxhyveを用いることで、より高速で安定した動作が実現できると説明されています。
MacOSとWindowsのネイティブ仮想化を用いたDocker純正ツール「Docker for Mac/Windows」登場、VirtualBoxは不要に - Publickey
インストール
下記からダウンロードしたDocker.dmgを使った。(Docker.appをアプリケーションフォルダに入れるだけ)
Docker for Mac is our newest offering for the Mac. It runs as a native Mac application and uses xhyve to virtualize the Docker Engine environment and Linux kernel-specific features for the Docker daemon.
https://docs.docker.com/engine/installation/mac/
なお、Homebrew経由でもインストール出来るが、複数のアプリケーションを組み合わせる必要も無く、またDocker.app自身に更新機能が備わっているので、上記のインストーラを使うのが手っ取り早いと思われる。
brew cask install docker
動作確認
まずは動作確認用としてechoコマンドで"Hello world"を実行させた。具体的には下記のコマンドを叩くだけで良い。
$ docker run ubuntu /bin/echo 'Hello world'
https://docs.docker.com/engine/tutorials/dockerizing/
初回のみイメージのダウンロードが行われるので少しだけ時間を要するが、"Hello world"が表示された。2回目以降の実行では、ローカルのイメージを使うので、もちろん待ち時間は発生しない。
$ docker run ubuntu /bin/echo 'Hello world' Unable to find image 'ubuntu:latest' locally latest: Pulling from library/ubuntu 6bbedd9b76a4: Pull complete fc19d60a83f1: Pull complete de413bb911fd: Pull complete 2879a7ad3144: Pull complete 668604fde02e: Pull complete Digest: sha256:2d44ae143feeb36f4c898d32ed2ab2dffeb3a573d2d8928646dfc9cb7deb1315 Status: Downloaded newer image for ubuntu:latest Hello world
次にシェルを起動させた。(引数のオプションに関する説明は下記のサイトを参照)
$ docker run -t -i ubuntu /bin/bash
https://docs.docker.com/engine/tutorials/dockerizing/
$ docker run -t -i ubuntu /bin/bash root@2cba2a194e4f:/# ls bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr
普通のLinuxのフォルダ構成になっていることを確認した。
所感
導入の容易さはもちろんのこと、仮想環境の起動の早さは驚異的だと思う。上記の一連の作業を行うだけなら(ファイルのダウンロードに要する時間は別として)数分程度で出来てしまう。昔、Mac用の仮想環境としてVMware Fusionを導入してWindowsとLinuxを使っていたことがあるけれど、それに比較しても手間は圧倒的に少ない。今後は仮想環境をもっと気軽に活用できる気がする。
プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化
- 作者: 阿佐志保,山田祥寛
- 出版社/メーカー: 翔泳社
- 発売日: 2015/11/20
- メディア: 大型本
- この商品を含むブログ (3件) を見る