BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース "Docker on Windows" ブックレビュー

"Docker on Windows" ブックレビュー

原文(投稿日:2017/08/09)へのリンク

Elton Stoneman氏の執筆した“Docker on Windows”は、Dockerを効果的に学びたいWindows開発者にとって素晴らしい本だ。イメージやコンテナなど、Dockerのさまざまな側面に加えて、マルチステージビルドなどの新機能も網羅している。Windowsで動作するサーバアプリケーションの構築と提供を行なっているエンジニアやアーキテクト、管理者に最適な本だ。

筆者は最初、Windows用のDocker解説本が必要な理由が理解できなかった。Dockerはコンテナを実現するテクノロジで、仮想マシンのオーバーヘッドなしにオペレーティングシステムのインスタンスを生成することができる。Dockerはさまざまなオペレーティングシステム上で動作する。2016年にはそれにWindows 10とWindows Server 2016が加わったが、残念なことに、インターネット上にあるチュートリアルの大部分には、Linuxベースのサービスに固有の手順が含まれている。この本では、すべての例でMicrosoft特有のサービスを使用するだけでなく、開発を容易にするためのヒントやテクニックが全体に提供されている。

本書では全体を通じて、Nerd Dinnerという古いASP.NET MVC アプリをユースケースとして取り上げている。この旧式なモノリシックアプリケーションを通じて、モジュラアプリケーションに乗せ替える方法について学ぶのだ。本書を読み終わる頃には、フロントエンドとデータベースと分析サービスに分割されたアプリのデプロイと監視が可能になっている。

本書はイメージやコンテナ、レジストリ、SwarmといったDockerの基本概念から始まり、Windows 10、Windosw Server 2016、およびAzure内のVM上でDockerを実行する方法について説明する。Dockerアプリケーションのサンプルには、DockerファイルでMicrosoft dotnet nanoserverの設定を行なう方法が示されている。さらに本書では、Dockerfileで使用可能なコマンドと、ビルドプロセス中にユーザーが指定できるコマンドライン引数についても説明している。Dockerに最近追加された機能である、マルチステージビルドについてもここで紹介されている。マルチステージビルドのおかげで読者(と開発者)は、(Docker以外の)ツールを自身のマシンにインストールする必要がなくなり、これまでよりも手軽に、エラーのない方法で開発を始めることが可能になった。

中盤の章では、開発者やITのプロがDockerを使用することのメリットについて、さらに解説が進められている。本書の豊富なサンプルを自らの手で入力したくない開発者は、GitHubからダウンロードするか、あるいはDockerHubからコンパイル済みイメージをプルすることが可能だ。本書では、NerdDinnerアプリケーションを題材として、独立して開発可能なコンテナを追加する機能拡張を実施し、結果として、Docker Composeで管理可能な分散ソリューションを完成させる。さらに著者は、Docker Swarmによるソリューションのサーバやローカルコンピュータへのデプロイ方法についても説明している。

ITのプロには、実運用に向けてDockerを評価する上で参考となる章がある。その中では、セキュアなイメージの構築やセキュアなソフトウェアサプライチェーンの設定から、セキュアなSwarmの実行に至るまで、Dockerプラットフォームのセキュリティについて紹介されている。Dockerは、現在使用しているツール – IIS ManagerやServer Manager – で管理することができる。本書には、コンテナ用に開発された新しいタイプの管理ツールについて紹介した章もある。

最後の章では、Dockerを使って継続的デプロイメントパイプラインを運用するためのヒントやテクニックが紹介されている。読了後にはDockerでのBonobo Gitの運用、DockerのJenkins自動化サーバでプロジェクトのパッケージングと実行が可能になる。Visual Studioの十分な経験があれば、開発中のアプリケーションをコンテナで実行する方法や、さらにはそれをVisual Studioを使ってデバッグする方法について学ぶことができる。

本書の最後には、自身のプロジェクトでDockerを採用する場合のアドバイスとして、従来型のアプリケーションをDockerで現代化する概念実証のためのガイダンスとともに、3つのケーススタディを取り上げ、小規模プロジェクトから大規模プロジェクトに至るまで、Windows上でのDockerの運用例として紹介している。

実際に試してみるアプローチを採用した本書は、既存のWindows開発者にとって素晴らしいガイドとなっている。Elton Stoneman氏によって、Dockerの初心者は、この新たなツールが自身の開発サイクルをいかに改善してくれるのかを容易に理解できるようになる。一方でその充実した解説内容は、すでにDockerの知識を持っている人にとっても興味深いものだ。

“Docker for Windows”はAmazonの他、Packt Publishingから直接入手することが可能だ。さらに著者の週毎のブログ記事では、本書の各Dockerfileを取り上げて説明している。

著者について

Elton Stoneman氏はMicrosoft MVP、Pluralsightの著者InfoQの編集者で、Docker Inc.に勤務しています。Dockerや.NET、Azureに関するブログの公表ツィートの他、カンファレンスでの講演も定期的に行なっています。現在の目標は次回のDockerConです。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT