こんにちは、吉岡([twitter:@yoshiokatsuneo])です。
先日の記事のように、Dockerの技術書『Docker実戦活用ガイド』を出版しましたが、その際調査のために多くのDocker書籍に目を通しましたので紹介します。
Dockerは一瞬で起動できる仮想環境(コンテナ)ツールです。
環境をDockerイメージとして保存・再利用できる、シンプルで使い易い、アプリケーションのデプロイを容易にする、周辺ツール(クラスタ・クラウド・インストーラなど)が充実していることから、リリースされてから数年で一気に有名になりました。
Dockerの発展スピードは速いですが、最近はDocker社自身による関連ツールやサービスが一通り出揃ってきています。 今後も発展していくと思いますが、基本的な方向性としては大きく変わらないとも思います。 今Dockerについて学ぶのはタイミングとしては良いかと思います。
ウェブなどでも情報を得ることはできますが、進化が早いことから古い情報や断片的な情報も多く、Docker全体をまとめて概念・動作・利用方法をしっかり学ぶには書籍も良いかと思います。
ここでは、現時点で出版されている全ての日本語のDocker書籍全7冊を紹介します。また、合わせてオライリーの洋書3冊を紹介します。 同じDockerについての書籍でも、時期や視点・構成・目的や関連ツールなどが違いますので、自分に合う書籍を選んでみてください。
邦書・洋書それぞれ、発売日が新しい順で紹介します。
邦書
◆ Docker実戦活用ガイド
- 作者: 吉岡恒夫,paiza
- 出版社/メーカー: マイナビ出版
- 発売日: 2016/05/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
現時点で最新のDocker書籍です。
月間200万コンテナのシステムを開発した著者が、基礎からDockerの概念・動作・使い方を解説します。
実運用事例・ウェブサービスの作り方・リソース管理・内部構造についても詳しく解説しています。
関連ツールとしては、Docker純正ツールのDocker Swarmクラスタ・ Docker Cloud・Docker for Mac(ベータ)・Kitematic(GUIツール)を説明しています。
全体を通してWindows・Mac環境でも実行できるように配慮されています。
著者による本書の紹介記事はこちらです。
発売日: 2016/5/30
目次:
1.Dockerとは?
2.Dockerの仕組み
3.Dockerのインストール(Windows, Mac, Linux)
4.Dockerを使ってみよう(コマンド編)
5.Dockerを使ってみよう(Kitematic(GUI)編)
6.Dockerイメージの操作
7.Dockerを使いこなす
8.複数のDockerを使う(Docker Machine, Docker Swarm, Docker Compose)
9.Dockerをクラウドで使う(Docker Cloud)
10.DockerとJavaScriptでウェブサービスを作る(簡易オンラインジャッジシステム)
11.Dockerを利用した実運用ウェブサービス構築事例(paizaオンラインジャッジシステム)
12.paizaの実行環境APIを使いウェブサービスを作る(簡易オンラインジャッジシステム)
13.Dockerの内部
対象:
- 最新情報が欲しい方
- Dockerの概念・動作・使い方を基礎から知りたい方
- Dockerのリソース管理について知りたい方
- DockerをWindows・Macでも使いたい方(Docker Toolbox, Docker for Mac)
- Dockerを実運用事例を知りたい方
- Docker Swarmクラスタ/Docker Cloudについて知りたい方
◆ はじめてのDocker
はじめてのDocker―「仮想化技術」で「サーバ」を簡単構築 (I・O BOOKS)
- 作者: 西島剛
- 出版社/メーカー: 工学社
- 発売日: 2016/04
- メディア: 単行本
- この商品を含むブログを見る
こちらも4月に発売された、比較的新しい小型サイズのDocker書籍です。
小型の書籍ですが、DockerコマンドやKubernetesまで様々なことに簡単に触れており、Dockerとその関連技術にはどのようなものがあるかについて知ることができます。
発売日: 2016/04/25
目次:
- 「Linuxコンテナ」とは
- Dockerの構成
- Dockerの構築
- Kubernetes
- Consul
- Core OS
- その他のDocker技術
- プロビジョニング
- マイクロサービス
対象: - Dockerのコマンドの概要を知りたい方 - Kubernetes, Core OSなどDocker関連技術の概要を知りたい方 - 軽い本を短時間で読みたい方
◆ Docker入門
- 作者: 末安泰三
- 出版社/メーカー: ソーテック社
- 発売日: 2015/12/19
- メディア: 単行本
- この商品を含むブログ (2件) を見る
Dockerの入門書。本書の多くをDockerコマンドの説明に費やしておりオプション一覧を含めて詳しく説明しています。 Ubuntu/CentOS/Windows/Macでのインストール方法についても書かれています。
発売日: 2015/12/19
目次:
- Dockerとは何か、なぜ注目されるのか
- 様々な環境へのDockerのインストール
- Dockerコマンドによるイメージ取得とコンテナ稼働
- Dockerfileからのイメージ生成とプライベートレジストリの活用
- 複数コンテナの連携とDocker Composeを使ったサービス管理
対象:
- Dockerコマンドについて詳しく知りたい方
- Dockerコマンドの主なオプションを一覧で知りたい方
◆ Docker実践ガイド
Docker 実践ガイド (impress top gear)
- 作者: 古賀政純
- 出版社/メーカー: インプレス
- 発売日: 2015/12/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
Dockerコマンドを中心に、基礎から応用まで解説した書籍です。Kubernetesによるクラスタ構築方法を1章かけて詳しく解説しています。 Shipyard/RancherOS/Docker Swarm/CoreOS/Mesosなど多くの関連ツールについて取り上げています。
発売日: 2015/12/17
目次:
- Dockerとは?
- Docker導入前の準備
- 導入前の設計とインストール
- Dockerを使いこなす
- Dockerfile
- 資源管理
- ネットワーキング
- コンテナ連携コンポーネント
- 管理・監視ツール
- マルチホスト環境の構築 第11章 Atomic HostとCoreOS 第12章 クラスタ環境の構築
対象:
- Dockerコマンドを基礎から知りたい方
- Kubernetesクラスタを構築したい方
- Dockerのリソース管理について知りたい方
◆ プログラマのためのDocker教科書
プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化
- 作者: 阿佐志保,山田祥寛
- 出版社/メーカー: 翔泳社
- 発売日: 2015/11/20
- メディア: 大型本
- この商品を含むブログ (3件) を見る
Dockerの使い方について基礎から説明しています。 基本的なDockerコマンドを1つ1つ丁寧に説明しています。 ネットワークやLinuxなどのインフラの基礎の概要を1章で説明している点は特徴です。 Docker Swarmによるクラスタ環境も説明しています。
発売日: 2015/11/20
目次:
- おさえておきたいシステム/インフラの知識
- コンテナ仮想化技術とDocker
- Dockerのインストールと基本コマンド
- Dockerfileを使ったコードによるサーバ構築
- Docker イメージの共有――Docker Registry
- 複数コンテナの一元管理――Docker Compose
- マルチホスト環境でのDocker運用――Docker Machine、Docker Swarm
- クラウドでのDocker 運用
対象:
- 基本的なDockerコマンドを知りたい方
- インフラの概要を知りたい方
- Docker Swarmクラスタについても知りたい方
◆ Docker実践入門
Docker実践入門――Linuxコンテナ技術の基礎から応用まで (Software Design plus)
- 作者: 中井悦司
- 出版社/メーカー: 技術評論社
- 発売日: 2015/09/26
- メディア: 大型本
- この商品を含むブログ (2件) を見る
Dockerについて日本語でのまとまった情報を提供する最初の書籍です。Dockerコマンド全体についてまんべんなく触れられています。 Dockerの内部構造、Kubernetesの概要についても触れられています。 CentOS7環境でのインストール・利用方法を説明しています。
著者による本書の紹介記事はこちらです。
発売日: 2015/9/26
目次:
- Docker入門(Dockerの利用形態)
- Dockerの利用方法(Dockerの基本操作)
- dockerコマンドリファレンス(dockerデーモンの管理)
- Dockerの内部構造と関連ツール(Dockerの内部構造)
対象:
- Dockerコマンド全体を知りたい方
- CentOS7環境で使いたい方
- Dockerの内部構造を含めて知りたい方
- Kubernetesの概要を知りたい方
◆ Dockerエキスパート養成読本
Dockerエキスパート養成読本[活用の基礎と実践ノウハウ満載!] (Software Design plus)
- 作者: 杉山貴章,大瀧隆太,Yugui(Yuki Sonoda),中津川篤司,前佛雅人,松原豊,米林正明,松本勇気
- 出版社/メーカー: 技術評論社
- 発売日: 2015/06/18
- メディア: 大型本
- この商品を含むブログ (2件) を見る
雑誌Software Designの、Dockerについての別冊です。7人の著者それぞれの立場からDockerとその関連技術・ツールについて説明しています。
発売日: 2015/6/18
目次:
巻頭記事〜進むエコシステムの形成と今後の課題
Dockerプラットフォームがもたらすもの [杉山 貴章]
●基本編〜Docker Engine、Dockerfile、Kubernetes
ゼロから始めるDocker入門
第1 章 〜インストールと基本的な使い方
Docker Engineの基礎知識 [大瀧 隆太]
第2 章 〜記述方法とDockerイメージの作成
Dockerfileの基礎知識 [大瀧 隆太]
第3 章 〜Dockerコンテナによる分散システムの管理・運用の要
Kubernetes実践入門 [Yugui(Yuki Sonoda)]
●実践編〜開発/運用でどう使うか
Docker実践活用術
第1 章 〜開発チーム/社内/独自PaaS
[開発者のための] 試してわかる Docker 活用術 [中津川 篤司]
第2 章 〜Dockerfile、docker build、Vagrant、Packer、Terraform
Dockerによる環境構築の自動化入門 [前佛 雅人]
第3 章 〜Dockerを使ったOSS CIツール
[ビルドとテストを自動化] Drone入門 [松原 豊]
コラム Dockerの活用と今後の期待 [米林 正明 ]
第4 章 〜実運用に至った箇所、至らなかった箇所
Gunosyが本気で試したDocker 投入・検証記 [松本 勇気]
対象: - Dockerについて様々な視点、ツールを知りたい方 - 単独でも読める記事として読みたい方
洋書
◆ Using Docker(英語)
Using Docker: Developing and Deploying Software with Containers
- 作者: Adrian Mouat
- 出版社/メーカー: O'Reilly Media
- 発売日: 2016/01/07
- メディア: ペーパーバック
- この商品を含むブログを見る
オライリーによるDocker書籍(洋書)としては最新。 Dockerの簡単な説明の後、オーケストラツール、監視、ウェブサービスの組み込み、Docker Swarm、Mesosなど応用を中心に説明しています。
発売日: 2016/1/7
目次:
- The What and Why of Containers
- Installation
- First Steps
- Docker Fundamentals
- Using Docker in Development
- Creating a Simple Web App
- Image Distribution
- Continuous Integration and Testing with Docker
- Deploying Containers
- Logging and Monitoring
- Networking and Service Discovery
- Orchestration, Clustering, and Management
- Security and Limiting Containers
対象:
- Dockerの応用方法、運用方法を知りたい方
- Docker上でアプリケーションを動かしたいか方
◆ Docker Cookbook (英語)
Docker Cookbook: Solutions and Examples for Building Distributed Applications
- 作者: Sébastien Goasguen
- 出版社/メーカー: O'Reilly Media
- 発売日: 2015/12/17
- メディア: ペーパーバック
- この商品を含むブログを見る
Dockerの様々な使い方にQ&A形式で答えています。130のトピックについて例をあげながら説明しています。
発売日: 2015/12/17
目次:
- Getting Started with Docker
- Image Creation and Sharing
- Docker Networking
- Docker Configuration and Development
- Kubernetes
- Optimized Operating System Distributions for Docker
- The Docker Ecosystem: Tools
- Docker in the Cloud
- Monitoring Containers
- Application Use Cases
対象:
- Dockerの様々な具体的な利用例を知りたい方
- Dockerをハックしたい方
◆ Docker: Up and Running(英語)
Docker: Up & Running: Shipping Reliable Containers in Production (English Edition)
- 作者: Karl Matthias,Sean P. Kane
- 出版社/メーカー: O'Reilly Media
- 発売日: 2015/06/11
- メディア: Kindle版
- この商品を含むブログを見る
DockerとDockerコマンドの使い方について、基礎から例をあげて丁寧に説明しています。 リソース制御、内部動作についても触れています。
発売日: 2015/7/3
目次:
- Introduction
- Docker at a Glance
- Installing Docker
- Working with Docker Images
- Working with Docker Containers
- Exploring Dockert
- The Path to Production Containers
- Debugging Containers
- Docker at Scale
- Advanced Topics
- Designing Your Production Container Platform
- Conclusion
対象:
- Docker、Dockerコマンドを基礎から知りたい方
- Docker Swarmについて知りたい方
まとめ
Dockerの書籍10冊について紹介しました。 Dockerの動きは早いですが、コンセプトは大きく変わることはなく発展しておりDockerを知ることで視点も広がります。 Dockerを触ったことがある人もない人も、改めてじっくり読んでみてはいかがでしょうか。
paizaは、技術を追い続けることが仕事につながり、スキルのある人がきちんと評価される場を作ることで、日本のITエンジニアの地位向上を目指したいと考えています。
自分のスキルを磨いていきたいと考えている方におすすめなのが「paizaラーニング」。オンラインでプログラミングしながらスキルアップできる入門学習コンテンツです。初心者でも楽しくプログラミングの基本を学ぶことができます。
そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。