読者です 読者をやめる 読者になる 読者になる

paiza開発日誌

paiza(https://paiza.jp)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

今からでも遅くない! Dockerをしっかり学ぶための書籍全10冊まとめ

Docker 書籍紹介

f:id:paiza:20160523164800j:plain

f:id:paiza:20151217152725j:plainこんにちは、吉岡(@)です。

先日の記事のように、Dockerの技術書『Docker実戦活用ガイド』を出版しましたが、その際調査のために多くのDocker書籍に目を通しましたので紹介します。

Dockerは一瞬で起動できる仮想環境(コンテナ)ツールです。
環境をDockerイメージとして保存・再利用できる、シンプルで使い易い、アプリケーションのデプロイを容易にする、周辺ツール(クラスタクラウドインストーラなど)が充実していることから、リリースされてから数年で一気に有名になりました。

Dockerの発展スピードは速いですが、最近はDocker社自身による関連ツールやサービスが一通り出揃ってきています。 今後も発展していくと思いますが、基本的な方向性としては大きく変わらないとも思います。 今Dockerについて学ぶのはタイミングとしては良いかと思います。

ウェブなどでも情報を得ることはできますが、進化が早いことから古い情報や断片的な情報も多く、Docker全体をまとめて概念・動作・利用方法をしっかり学ぶには書籍も良いかと思います。

ここでは、現時点で出版されている全ての日本語のDocker書籍全7冊を紹介します。また、合わせてオライリーの洋書3冊を紹介します。 同じDockerについての書籍でも、時期や視点・構成・目的や関連ツールなどが違いますので、自分に合う書籍を選んでみてください。

邦書・洋書それぞれ、発売日が新しい順で紹介します。

邦書

◆ Docker実戦活用ガイド

Docker実戦活用ガイド

Docker実戦活用ガイド

現時点で最新のDocker書籍です。
月間200万コンテナのシステムを開発した著者が、基礎からDockerの概念・動作・使い方を解説します。 実運用事例・ウェブサービスの作り方・リソース管理・内部構造についても詳しく解説しています。 関連ツールとしては、Docker純正ツールのDocker Swarmクラスタ・ Docker Cloud・Docker for Mac(ベータ)・Kitematic(GUIツール)を説明しています。

全体を通してWindowsMac環境でも実行できるように配慮されています。

著者による本書の紹介記事はこちらです。

paiza.hatenablog.com

発売日: 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をWindowsMacでも使いたい方(Docker Toolbox, Docker for Mac)
  • Dockerを実運用事例を知りたい方
  • Docker Swarmクラスタ/Docker Cloudについて知りたい方

◆ はじめてのDocker

こちらも4月に発売された、比較的新しい小型サイズのDocker書籍です。

小型の書籍ですが、DockerコマンドやKubernetesまで様々なことに簡単に触れており、Dockerとその関連技術にはどのようなものがあるかについて知ることができます。

発売日: 2016/04/25

目次:

  1. Linuxコンテナ」とは
  2. Dockerの構成
  3. Dockerの構築
  4. Kubernetes
  5. Consul
  6. Core OS
  7. その他のDocker技術
  8. プロビジョニング
  9. マイクロサービス

対象: - Dockerのコマンドの概要を知りたい方 - Kubernetes, Core OSなどDocker関連技術の概要を知りたい方 - 軽い本を短時間で読みたい方

◆ Docker入門

Docker入門

Docker入門

Dockerの入門書。本書の多くをDockerコマンドの説明に費やしておりオプション一覧を含めて詳しく説明しています。 Ubuntu/CentOS/Windows/Macでのインストール方法についても書かれています。

発売日: 2015/12/19

目次:

  1. Dockerとは何か、なぜ注目されるのか
  2. 様々な環境へのDockerのインストール
  3. Dockerコマンドによるイメージ取得とコンテナ稼働
  4. Dockerfileからのイメージ生成とプライベートレジストリの活用
  5. 複数コンテナの連携とDocker Composeを使ったサービス管理

対象:

  • Dockerコマンドについて詳しく知りたい方
  • Dockerコマンドの主なオプションを一覧で知りたい方

◆ Docker実践ガイド

Docker 実践ガイド (impress top gear)

Docker 実践ガイド (impress top gear)

Dockerコマンドを中心に、基礎から応用まで解説した書籍です。Kubernetesによるクラスタ構築方法を1章かけて詳しく解説しています。 Shipyard/RancherOS/Docker Swarm/CoreOS/Mesosなど多くの関連ツールについて取り上げています。

発売日: 2015/12/17

目次:

  1. Dockerとは?
  2. Docker導入前の準備
  3. 導入前の設計とインストール
  4. Dockerを使いこなす
  5. Dockerfile
  6. 資源管理
  7. ネットワーキング
  8. コンテナ連携コンポーネント
  9. 管理・監視ツール
  10. マルチホスト環境の構築 第11章 Atomic HostとCoreOS 第12章 クラスタ環境の構築

対象:

  • Dockerコマンドを基礎から知りたい方
  • Kubernetesクラスタを構築したい方
  • Dockerのリソース管理について知りたい方

プログラマのためのDocker教科書

プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化

プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化

Dockerの使い方について基礎から説明しています。 基本的なDockerコマンドを1つ1つ丁寧に説明しています。 ネットワークやLinuxなどのインフラの基礎の概要を1章で説明している点は特徴です。 Docker Swarmによるクラスタ環境も説明しています。

発売日: 2015/11/20

目次:

  1. おさえておきたいシステム/インフラの知識
  2. コンテナ仮想化技術とDocker
  3. Dockerのインストールと基本コマンド
  4. Dockerfileを使ったコードによるサーバ構築
  5. Docker イメージの共有――Docker Registry
  6. 複数コンテナの一元管理――Docker Compose
  7. マルチホスト環境でのDocker運用――Docker Machine、Docker Swarm
  8. クラウドでのDocker 運用

対象:

  • 基本的なDockerコマンドを知りたい方
  • インフラの概要を知りたい方
  • Docker Swarmクラスタについても知りたい方

◆ Docker実践入門

Dockerについて日本語でのまとまった情報を提供する最初の書籍です。Dockerコマンド全体についてまんべんなく触れられています。 Dockerの内部構造、Kubernetesの概要についても触れられています。 CentOS7環境でのインストール・利用方法を説明しています。

著者による本書の紹介記事はこちらです。

enakai00.hatenablog.com

発売日: 2015/9/26

目次:

  1. Docker入門(Dockerの利用形態)
  2. Dockerの利用方法(Dockerの基本操作)
  3. dockerコマンドリファレンス(dockerデーモンの管理)
  4. Dockerの内部構造と関連ツール(Dockerの内部構造)

対象:

  • Dockerコマンド全体を知りたい方
  • CentOS7環境で使いたい方
  • Dockerの内部構造を含めて知りたい方
  • Kubernetesの概要を知りたい方

◆ Dockerエキスパート養成読本

Dockerエキスパート養成読本[活用の基礎と実践ノウハウ満載!] (Software Design plus)

Dockerエキスパート養成読本[活用の基礎と実践ノウハウ満載!] (Software Design plus)

雑誌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

Using Docker

オライリーによるDocker書籍(洋書)としては最新。 Dockerの簡単な説明の後、オーケストラツール、監視、ウェブサービスの組み込み、Docker Swarm、Mesosなど応用を中心に説明しています。

発売日: 2016/1/7

目次:

  1. The What and Why of Containers
  2. Installation
  3. First Steps
  4. Docker Fundamentals
  5. Using Docker in Development
  6. Creating a Simple Web App
  7. Image Distribution
  8. Continuous Integration and Testing with Docker
  9. Deploying Containers
  10. Logging and Monitoring
  11. Networking and Service Discovery
  12. Orchestration, Clustering, and Management
  13. Security and Limiting Containers

対象:

  • Dockerの応用方法、運用方法を知りたい方
  • Docker上でアプリケーションを動かしたいか方

◆ Docker Cookbook (英語)

Docker Cookbook

Docker Cookbook

Dockerの様々な使い方にQ&A形式で答えています。130のトピックについて例をあげながら説明しています。

発売日: 2015/12/17

目次:

  1. Getting Started with Docker
  2. Image Creation and Sharing
  3. Docker Networking
  4. Docker Configuration and Development
  5. Kubernetes
  6. Optimized Operating System Distributions for Docker
  7. The Docker Ecosystem: Tools
  8. Docker in the Cloud
  9. Monitoring Containers
  10. Application Use Cases

対象:

  • Dockerの様々な具体的な利用例を知りたい方
  • Dockerをハックしたい方

◆ Docker: Up and Running(英語)

Docker: Up & Running

Docker: Up & Running

DockerとDockerコマンドの使い方について、基礎から例をあげて丁寧に説明しています。 リソース制御、内部動作についても触れています。

発売日: 2015/7/3

目次:

  1. Introduction
  2. Docker at a Glance
  3. Installing Docker
  4. Working with Docker Images
  5. Working with Docker Containers
  6. Exploring Dockert
  7. The Path to Production Containers
  8. Debugging Containers
  9. Docker at Scale
  10. Advanced Topics
  11. Designing Your Production Container Platform
  12. Conclusion

対象:

  • Docker、Dockerコマンドを基礎から知りたい方
  • Docker Swarmについて知りたい方

まとめ

Dockerの書籍10冊について紹介しました。 Dockerの動きは早いですが、コンセプトは大きく変わることはなく発展しておりDockerを知ることで視点も広がります。 Dockerを触ったことがある人もない人も、改めてじっくり読んでみてはいかがでしょうか。




paizaではITエンジニアとしてのスキルレベル測定(9言語に対応)や、プログラミング問題による学習コンテンツ(paiza Learning)を提供(こちらは21言語に対応)しています。テストの結果によりS,A,B,C,D,Eの6段階でランクが分かります。自分のプログラミングスキルを客観的に知りたいという方は是非チャレンジしてみてください。

http://paiza.jp




プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編