連載
» 2015年04月13日 05時00分 UPDATE

山市良のうぃんどうず日記(31:特別編):所要時間わずか10分で「Docker」を体験しよう――Azureで始めるDocker入門 (1/2)

2014年から急速に注目度が増しているコンテナー型仮想化技術「Docker」。すでに多くのLinuxで利用可能な技術ですが、次期Windows Serverでもサポートされる予定です。Dockerとはどのようなものなのか、一度、実際に触って体験してみてはいかがでしょうか。

[山市良,テクニカルライター]
「山市良のうぃんどうず日記」のインデックス

連載目次

いまさら聞けない(らしい)、Dockerって何ですか?

 「Docker」は、アプリケーションを構築、展開、実行するためのオープンなプラットフォームです。Dockerは「コンテナー型仮想化技術」ともいわれ、PaaS(Platform as a Services)やIaaS(Infrastructure as a Services)に続く、新たなクラウドの要素技術として注目されています(図1)。

図1 図1 PaaS、IaaS、Dockerの比較。Dockerのデプロイ対象コンテナーは、アプリケーションとその実行環境をパッケージ化したもので、Dockerエンジンの上で動作する。Microsoft Azureは現在、Dockerエンジンを含むLinuxベースのAzure仮想マシンでDockerに対応している

 現在、主要なLinuxディストリビューションではDockerを簡単に導入、利用できるようになっています。「CoreOS」や「Red Hat Enterprise Linux Atomic Host」のような、DockerのホストOSに特化した軽量OSも提供されています。また、Amazon Web Service(AWS)やGoogle、Microsoft Azure(以下、Azure)といった主要なパブリッククラウドでは、すでにDockerのサポートが提供されています。

 さらに、現在開発中のWindows Serverの次期バージョンでも、Dockerがサポートされる予定です。マイクロソフトとDocker社の提携は、2014年10月に発表されました。2015年5月に公開が予定されている「Windows Server Technical Preview」の新しいビルドで、Dockerサポートが追加されるのではないか、と注目している技術者の方も多いのではないでしょうか。

Nano ServerではWindows ServerとHyper-Vがコンテナー化されて動くらしい

 Windows ServerにDockerがどのように実装されることになるのか、詳しいことはまだ分かりませんが、マイクロソフトは2015年4月8日(米国時間)に次期Windows Serverで軽量なインストールオプション「Nano Server」と「Windows Serverコンテナー(Windows Server Container)」および「Hyper-Vコンテナー(Hyper-V Container)」が提供されることを発表しています。

 詳細に関しては、4月末に米サンフランシスコで開催される「Build 2015」や5月初めに米シカゴで開催される「Microsoft Ignite」で明らかになるようです。正式版は、次期Windows Serverがリリースされる予定の2016年ということになります。

いまのうちにDockerの基本を知っておきたい方へ(筆者もですが)

 Windows関係の仕事がほとんどの筆者は、これまでDockerに触れたことがありませんでした。しかし、次期Windows Serverに採用されるとあっては、Dockerが何者なのか知らずに済ますわけにはいきません。Windows ServerのDockerが登場する前のいま、Linuxベースの現在のDockerの基本を知っておいて損はないでしょう。利用するための具体的な手順は違うかもしれませんが、コンセプトは同じなはずです。

 そこで、Dockerは今回が初めてという筆者が、以下の二つの入門記事を片手にAzure上のLinux仮想マシン環境でDockerを体験してみることにしました。筆者は初心者であるため、Dockerについて詳しく解説することはできませんが、実際に体験してみることで何かしら得るものがあると思うのです。

Azure仮想マシンのCoreOSで、Dockerを初体験

 現状、DockerエンジンはLinuxをホストOSとして動作します。Mac OS XやWindowsでも「Boot2docker」を使用することでDockerエンジンのコンテナーを動かすことはできますが、これはVirtualBoxのLinux仮想マシンでDockerエンジンを動かしているようです。

 Azureの仮想マシンギャラリーには、いくつかのLinuxディストリビューションのテンプレートが用意されており、非常に簡単な手順でLinux仮想マシンを展開できるようになっています。Dockerを試すのであれば、CoreOSのテンプレートを使用するのがお勧めです。CoreOSはDockerエンジンに特化した軽量なホストOSであり、Dockerのインストールや基本的な構成をスキップして、すぐにコンテナーを実行できます。

 AzureでCoreOSを使用する方法については、マイクロソフトとCoreOS社から以下のドキュメントが公開されています。

 どちらも、「Azureクロスプラットフォーム コマンドライン インターフェース」(xplat-cli)と、CoreOSが提供するDocker用の管理サービス「etcd」および「fleet」を使用して、コマンドラインベースで仮想マシンを展開し、複数台のCoreOS仮想マシンによるクラスターを構成する手順が説明されています。

 ただし、この手順は初心者には少々ハードルが高いと思われます。例えば、「xplat-cli」の実行環境として、CoreOSとは別にLinux環境を準備する必要があります(Windows版「xplat-cli」もありますが、Windows版にはDockerのサポートは含まれません)。

 「初めてのDocker」は、やはり先ほど紹介した二つの入門記事のように、1台のホストOSでDockerクライアント(dockerコマンド)を使用して、コンテナーを実行してみることから始めるのがよいでしょう。Azureでなら仮想マシンの作成時間を含めても10分もあれば、Dockerの基本操作を試すことができます。必要なのは、Azureのサブスクリプション(無料評価版でもOK)とWebブラウザー、そして「PuTTY」のようなSSHクライアントだけです。

CoreOS仮想マシンの作成は3分以内で完了

 まずは、Azureポータルの仮想マシンギャラリーで「CoreOS」(StableまたはAlphaまたはBeta)のイメージを選択して、仮想マシンを作成します(画面1)。イメージ選択後の手順は、他のLinuxイメージを選択した場合と変わりません。Azure上のLinux仮想マシンへの接続には「SSH」を使用しますが、SSH認証用の証明書の準備方法が分からないという場合は、パスワード認証だけで作成すれば簡単です(画面2)。

画面1 画面1 仮想マシンギャラリーからCoreOSのイメージ(十分にテストされたStableを推奨)を選択して仮想マシンを作成する
画面2 画面2 SSH認証用の証明書の準備方法が分からない場合は、「互換性のある認証用のSSHキーのアップロード」のチェックを外してパスワードを設定すればよい

 CoreOSは軽量なOSだからでしょうか、プロビジョニングはあっという間に完了します。きちんと計測したわけではありませんが、作成を開始してから「実行中」の状態になるまで3分もかかりませんでした。

 仮想マシンの作成が完了したら、SSHクライアント(Windowsからの場合は「PuTTY」など)を使用して、CoreOSの仮想マシンにリモートログインします。CoreOSにはDockerがインストール済みとなっているので、通常のLinuxでDockerを使用する場合と違ってDockerのインストール作業は不要です。

 次に、以下の二つのコマンドラインを実行すると、Dockerエンジンの情報とコンテナー管理のためのDockerサーバーおよびクライアントのバージョン情報を取得できます。「CoreOS Stable」の場合、CoreOSのバージョンが「607.0.0」、カーネルバージョンが「3.18.6」、Dockerのバージョンが「1.5.0」でした(画面3)。「CoreOS Release Notes」を確認すると、Stableリリースの最新版でした。

sudo docker info

sudo docker version


画面3 画面3 「CoreOS Stable」イメージから作成した仮想マシンは、Stableリリースの最新版を実行。Dockerのバージョンは「1.5.0」

 体験開始からわずか数分で、Dockerのコンテナー実行環境を手に入れることができました。今回はAzure標準のポータルで仮想マシンギャラリーから「CoreOS Stable」イメージを選択して作成しましたが、Azureの新しいプレビューポータルでは、「Azure Marketplace」で公開されている仮想マシンイメージから、Ubuntu ServerベースのDocker環境を簡単に作成することができます(画面4)。作成手順については、以下のドキュメントを参考にしてください。

画面4 画面4 「Azure Marketplace」には、Ubuntu Server 14.04ベースのDockerイメージが公開されている
       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。